All blogs
A client‑lifecycle system from first lead to handover
An internal system for running an agency’s client journey: lead, proposal, milestones, invoices and handover, with two approval gates.

- Client
- h1902y
- Year
- 2026
- Status
- Paused
- Timeline
- Backend built in about 10 days
The problem
Agency work lives in scattered tools. Proposals, milestones, invoices and handover each have rules about what can happen next, and those rules get broken by hand.
What we built
- An admin app for the pipeline, proposals, projects, clients and access, catalogue and invoices, with a lead-intake API
- A client app where a client decides on proposals, reviews deliverables and sees updates and billing
- A rules engine that holds the state machine for each stage
- A platform layer with Cloudflare Access sign-in, a database store and safe retries
Stack
- Next.js
- Cloudflare Workers
- Cloudflare D1
- TypeScript
- Vitest
Where it landed
- 84 automated tests passing across the rules engine and the platform layer
- Backend and rules are done; the screens still need to be built, which is why this is paused
Want something like this?
Tell us the idea in a few lines. We will say what week one looks like.


