The problem with building from scratch every time
When I started sebVERSIVE I did what most solo web designers do. I opened a blank HTML file and started writing. Every client got a custom build. Every project started at zero.
That sounds like a selling point and sometimes it is. But the math is brutal. If a five-page site takes me 40 hours and I charge $1,500, I am making less than $40 an hour before taxes. And I am producing something that only works for one business in one vertical in one city.
I kept doing it that way for a while because I did not know any better. Then I finished my first real client project, a multi-location lice clinic site in Texas, and something clicked.
What actually happened with the first client build
The site was vanilla HTML, CSS, and JS. No WordPress, no page builders, no frameworks. I built every page by hand, wrote custom booking drawer integration for their scheduling platform, added structured data markup, optimized every image to WebP, deferred all analytics loading, and got every single page to a perfect 100 on Google PageSpeed Insights mobile.
That project took a lot of hours. Way more than the flat fee justified if I was thinking about it as a one-time deliverable.
But here is the thing. When I was done, I had a fully functional multi-location service business website with a booking system, location pages, service tier architecture, FAQ schema, and a 404 page with a custom canvas animation. All of it built to score 100 on PageSpeed.
That is not just a website. That is a template.
Tokenizing the build
After launch I went back through every file and replaced the business-specific content with placeholder tokens using double curly brace syntax. Business name, phone number, primary color, accent color, service names, location addresses, booking URL, Google Apps Script endpoint for the contact form. All of it became a variable stored in a single config file.
Now when I need to build a site for a new lice clinic, or any service business with a similar structure, I copy the template folder, update the config file, swap in the new copy and images, and deploy. What took weeks the first time takes hours the second time.
The client paid me to build a website for their business. I also built a product I can sell over and over again.
Why this works better than buying themes
I have tried WordPress themes. I have tried Squarespace. I have tried page builders. They all have the same problem. You are fighting the platform to get the performance you want.
A Squarespace medspa site I audited recently scored 36 on mobile PageSpeed. The platform injects so much overhead into the page that there is a structural ceiling on performance. You cannot optimize your way past it because the bloat is baked into the infrastructure.
When I build from scratch in vanilla HTML, I control everything. The output is exactly what the browser needs and nothing else. That is why my sites score 90 to 100 on PageSpeed while the average small business site built on a page builder sits in the 40s and 50s.
That performance gap is the entire pitch. It is also the reason the template approach works. I am not selling a WordPress theme with a different skin. I am selling a hand-built, performance-optimized site that happens to be repeatable.
The vertical expansion math
I currently have templates for lice clinics and medspas. I am building a consulting template right now for a new client. After that, cosmetic dentistry, chiropractic, IV therapy, and laser hair removal are all on the list.
Each vertical gets its own .design domain. medspa.design is live with a spec site scoring 90 on mobile PageSpeed. That domain cost $4. The site acts as proof of concept for cold outreach to medspas. When a prospect clicks through from a cold email, they see a real site with real performance scores they can verify themselves on PageSpeed Insights.
The economics look something like this. I charge $1,500 for a five-page site. The first build in a new vertical takes 30 to 40 hours because I am learning the content, the terminology, the service structure, and the booking flow. Every build after that takes 8 to 15 hours because the template is done and I am just swapping content.
By the third or fourth client in a vertical, my effective hourly rate has doubled or tripled compared to where it started. And I am operating one client per roughly 100 mile radius per vertical, so there is no cannibalization.
What I would do differently
If I could go back and talk to myself six months ago I would say two things.
First, plan for tokenization from the start. Do not build the site and then go back to tokenize it. Use placeholder tokens from day one, even on the first client build. It takes almost no extra time and saves hours of find-and-replace work later.
Second, document the config structure early. Write down every variable the template needs before you start building. Business name, phone, colors, service names, booking URL, analytics ID, form endpoint, social links. Having that list upfront means you never hard-code something that should be a variable.
The flywheel
The pattern is simple. Get paid to build a client site. Tokenize it into a reusable template. Use the template to build spec sites on cheap .design domains. Use the spec sites as proof of concept in cold outreach. Close the next client faster because the template already exists. Repeat.
Every client project funds the creation of a product. Every product accelerates the next sale. That is the whole strategy.