I shipped my first paid product: a B2B catalog website template (Next.js 14 + Sanity + Tailwind) whose niche feature is branded PDF catalogs generated on the fly for every brand in the CMS. Wholesale distributors keep asking freelancers for exactly this, and generic templates don't have it.
The pitch is time, not code: setting it up for a client takes ~40 minutes (I timed it: install 16s, create the Sanity project 12s, seed 5s, deploy to Vercel 87s — the rest is you putting in the client's content). Building the same thing from scratch is 60–120 hours. That's the whole product.
Some honest numbers and bumps along the way:
My kill criterion is public: 0 sales in 8 weeks of promotion → freeze it and build the next thing. The clock is already running.
Product page: https://cleanhour.studio
The interesting decision isn't pricing the template at €49 instead of €179—it's whether you're selling reusable code or a faster way for freelancers to deliver client outcomes. I'd keep validating whether buyers see this as another template, or as a workflow advantage they can't easily recreate themselves.
Good question — it's the tension I keep circling back to myself.
You nailed it: a competent dev could rebuild this, so it's not defensible as code. What it actually sells is the weekend a freelancer doesn't spend wiring up Sanity schemas, theming a PDF renderer so it doesn't look like a browser print-out, and debugging pagination — so they can hand a client a branded catalog the same day instead of quoting them a two-week build. I timed a clean setup end-to-end: ~40 min from ZIP to a live branded catalog, vs the 60–120h it took me to build the thing the first time.
So it's less "code you can't recreate" and more "the outcome you'd rather not spend your Saturday recreating." The buyer isn't optimizing for the €49 — they're optimizing for the hours and the faster client turnaround. Whether enough of those buyers exist is exactly what these 8 weeks are meant to tell me: 0 sales and I freeze it.
Appreciate the context.
Would be good to continue the conversation outside the thread.
What's the best email to reach you on?
Appreciate it! Best email is hello@cleanhour.studio — feel free to reach me there.
What did you want to dig into? Happy to come prepared.
Thanks! I’ve just sent it over.
Looking forward to hearing your thoughts whenever you have a chance.