
Legal services
The platform that stopped a revenue bleed, then grew the demand
A regional filing service was losing paid customers to a broken intake funnel. We rebuilt it as a platform where a lost case is impossible by construction, and paired it with landing pages that bring high-intent customers to the door.
- 0
- Cases lost by construction
- AA
- Accessibility conformance
- 24/7
- In production
- 1
- Case record, one stable ID
The challenge
What the old system could not do
The old setup was an off-the-shelf forms-and-CRM stack that was actively bleeding revenue. A paid customer's case was joined to their contact by an email token, so re-sending an intake email broke the link and the case vanished into an unlinkable state. The business was losing money it had already collected.
No amount of CRM configuration fixes that, because it is not a configuration problem. It is a missing database. The fix was architectural: make a case a first-class record with a stable ID, created the moment payment clears, that everything else references. Orphaning becomes impossible by construction.
Fixing intake solved the leak but not the ceiling. A filing service only grows as fast as qualified customers find it, so the second half of the work was demand rather than software.
What we built
Evictions Help
- 01
A payment funnel that cannot double-charge or drop a case
Hosted checkout with the signed payment webhook as the only source of truth. Case provisioning is idempotent and transactional, so retries, duplicate webhooks, and double-clicks can never create a second case or a double charge. Price is re-derived on the server, so the client can never send its own.
- 02
A guided intake and client portal
A multi-step intake wizard with autosave and resume, input masking, and a server-side completeness gate. Customers get an authenticated case list, a plain-English milestone timeline, two-way messaging, and a document checklist that shows exactly what is still missing.
- 03
Demand, not just software
We built landing pages aimed at high-intent customers at the moment they start searching, and tuned them against what actually converted rather than what looked good. The platform did not wait for demand to arrive. It was paired with the engine that creates it, which is why the next step is expanding beyond the current region.
- 04
Compliance encoded in the database
This is a regulated service, so the rules live in the database rather than in a policy document. Default-deny access control on every table, guarded functions for every write, audit triggers, and a hard block on generating a filing unless the case is in legal scope and a signed authorization exists. Software never files anything on its own.
The outcome
What changed once it shipped
- Orphaned cases, the exact bug that was bleeding the old system, are now impossible by construction.
- A repeat customer paying with the same email lands on the same account, not a broken duplicate.
- Compliance is enforced by the database, so software never files anything on its own.
- High-intent customers arrive through landing pages built to convert, so the platform grows the demand it serves rather than waiting on it.
- The architecture is region-agnostic, and expansion beyond the current footprint is underway.
Built with
The stack underneath
- TypeScript end to end
- React front end
- Managed relational database
- Serverless hosting
- Hosted payments
- Row-level access control
Ready for the system your business runs on?
We start by mapping how the operation actually works, then build the platform that fits it. If your industry is still open, the first conversation costs an hour.