Service 04 / 05 · Bespoke software · all services
Replace the per-seat licence with code you own
Software cut to your process, and paid SaaS you rent by the seat rewritten into code you own.
A subscription you pay per seat for a workflow that is really two tables and a queue is a rewrite waiting to happen. I take the paid tool apart, keep the ten percent your team actually uses, and rebuild it as code on your account with no per-seat bill. Same for data: engines that price per row instead of per licence.
This is the right call when
- 01
You pay per seat for a tool your team uses ten percent of.
- 02
You buy data per licence that a crawler on your account could price per row.
- 03
You need a marketplace or a comparison site where every number can be checked in public.
What you get
What lands on your account
- The paid tool taken apart: what you use, what you do not
- The rebuild as code on your account, no per-seat bill
- Crawling and extraction engines priced per row
- Public, verifiable numbers where the product is data
How it runs
Three steps. The six-step version, with the brief and the video request, is on the home page.
- 01
Scoping call
30 min, freeYou describe the situation; I ask three questions and propose a shape.
- 02
Savings audit
€1,200 / $1,400 net, 5 business daysThe 36-month cost comparison, the order of moves, the risks and a fixed build price. Paid by bank transfer after the call, once you accept the offer; credited in full against a build ordered within 60 days of the report. If the audit does not show savings of at least twice its fee over 36 months, you get the fee back.
- 03
Build, handoff, operate
fixed price from the auditOne engineer builds every layer on your account and documents it. The offer includes a monthly plan by default, so the system is looked after from launch day.
Case studies
The systems behind this service, with the numbers their owners cleared for publication.

WhiteContextData platforms that pay per row, not per seat: a Rust-to-WebAssembly extraction engine behind a vet marketplace.
Rust → Wasm pipelines, priced per row.
- 2.55M
- .pl domains priced
- $0.00033
- per domain

porownajdentyste.plDental price comparison built on an owned crawler instead of a paid data feed; every price checkable in public.
Crawling, D1, SEO. Every number verifiable by anyone.
- 13,690
- clinics
- 497
- cities
- 19,541
- prices

AdcarePer-clinic CRM that replaced a per-seat subscription for an agency and its clinics.
The agency and every clinic operate the same CRM on one codebase.
- CRM
- owned, no per-seat bill
Runs on
Rust
Wasm
Sqlite
Workers
Typescript
Python
Postgresql
Docker
Articles
Read the math first
The numbers behind this, written down with their sources.
Replacing a SaaS subscription with your own system: the 3-year math
A 36-month model of SaaS fees against building your own system: per-seat and per-order cases, break-even months, and when building does not pay off.
Questions I get about this
Tap a question to see the answer.
Scoping calls · most weeks
Only if the workflow is narrow enough. The scoping call is where I say no when it is not. When it is, the per-seat bill goes to zero and the code is yours.
The repository, the Cloudflare account, the domains and the data sit under your company from day one, and the data is yours. Code built only for you becomes yours once it is paid for, as the contract sets out; H2M modules come with a perpetual licence. I get access to your accounts, not ownership of them.
The audit gives you a date and a fixed price before you commit to the build. The stack is small and one person builds every layer, so nothing waits in a queue between departments.
Yes, before you send the brief if you need it. Send yours or use mine.
Something else? Ask it on the call
A 30-minute call, free
Thirty minutes, then an offer for the audit
Pick a free time in my calendar. Or leave an email: I reply within one business hour with three questions and a proposed time for the call, not a deck.