An internal tool became something 34 clinics pay for monthly
Halden had one big customer using their internal scheduling tool, and eleven other clinics asking to buy it. We turned it into something those clinics could sign up to themselves, with billing and free trials built in.
- Client
- Halden Health
- Year
- 2025
- Duration
- 9 months
- Services
- Custom Software, Ongoing
Illustrative example. Not a real client — written to show how we document an engagement. The client, the figures, and the quote are invented. Real work is on the showcase.
- 34
- Paying clinics at month 6
- 41%
- Trial to paid conversion
- 0.7
- Support tickets per clinic
What was wrong
The existing tool assumed one organisation. Every table, query, and permission check had that assumption baked in, and the demand was for a product eleven other clinics could sign up to themselves.
Healthcare made the question sharper than usual: one clinic seeing another's patient data is not a bug you patch after launch, and the first serious prospect asked for the isolation model in writing on their second call.
What we did
We decided how customers would be kept apart before writing product code, and wrote down the reasoning so it could be handed to a prospect's security team unchanged.
Billing came second, before features — plans, trials, and failed-payment handling built while there were still only two customers, because every month of delay makes that retrofit more expensive.
How it works underneath
Separate schemas for clinical records, row-level security for shared surfaces, and a routing layer that resolves which clinic a request belongs to once and refuses to continue without it.
Usage is metered to a warehouse from day one, which is how Halden priced their second tier on evidence three months later rather than on a guess.
What changed
Self-serve signup shipped at launch, so the eleven waiting clinics onboarded without a salesperson.
The isolation model went into their security questionnaire responses verbatim and has cleared three enterprise reviews.
“They made us decide the boring things first. I resented it for about three weeks and have been grateful since.”
Stack
What users see
Web app · Self-serve signup · Admin
Underneath
Per-tenant isolation · Billing · Usage metering
Roles we held
Product build · Billing · Launch
Describe the problem in your
own words
No technical vocabulary needed. Forty minutes on a call and you will get a written summary of what we think is actually wrong, a rough range, and a straight answer on whether we are the right people. That part is free.