Demonstration build
HydroPeak, a pressure washing company
A trade business does not need one page. It needs every service crossed with every town it covers, because that is how somebody two towns over actually finds it. So I built the whole thing. The company is invented. The requirement is real.
- What it isA full trade business site, start to finish
- SizeEighteen pages, all prerendered
- Built withNext.js, React, Tailwind
Why build a business that does not exist
Every pressure washing company needs the same grid of pages: house washing in Brainerd, roof cleaning in Baxter, driveways in Nisswa, and so on for every combination. That is eighteen pages before anybody has written a word of anything interesting, and you cannot show it with a single scrolling demo.
Rather than wait for a client to need it, I built it. The photography is genuine, the company is not, and the quote form says on screen that it is a demonstration. Nobody gets fooled and I get to show the actual shape of the work.
What is in it
Eighteen pages covering the service and service area grid, a filterable photo gallery, before and after photos you drag a handle across, and a three step quote request. The form asks what the job is, where it is, and how to reach you. Nothing else, because every extra field on a quote form costs you leads from people who were already half decided.
If you run a trade business in Brainerd, that drag-to-compare slider is the part worth stealing. For work where the result is visible, showing the same driveway before and after does more selling than any paragraph you could write about it.
Why every page is built ahead of time
All eighteen pages are generated when the site is built rather than assembled when somebody visits. That means every one of them opens immediately, including on a phone with two bars of signal in somebody's driveway, which is exactly where a service business gets looked up.
What it cost me to learn
The hero image was downloading in well under half a second and still scoring badly on Google's speed measurement. The reason turned out to be the animation that reveals it: the score is taken when the picture finishes appearing, not when the file finishes arriving.
That cost an afternoon and it changed how I build every hero since, including on this site. A fast first paint proves nothing on its own if you then spend a second animating it into view.
Run a trade business around Brainerd?
This is the shape of site you probably need. Tell me what you do and I will price it honestly, within 24 hours.