Skip to main content
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.

A client‑lifecycle system from first lead to handover: cover
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.