Business Operating System · AI
ClientFlow OS
A unified platform for managing clients, projects, conversations, payments, documents, and workflows in one connected system.
Problem
Small studios and freelancers run their business across six tools that do not talk: a CRM, a chat app, a spreadsheet of projects, an invoicing tool, a drive folder and a notes app. Every handoff between them is manual and every status question costs a search. ClientFlow OS collapses the client lifecycle — enquiry to delivery to payment — into one connected system.
What I built
- Client lifecycle management
- Project management
- Communication tracking
- Stripe payments
- Invoicing
- File storage
- AI automation
- Approval dashboards
Inside the product
The main screens and what each one does.
- StagesContactsLinked projectsActivity feed
Client lifecycle
Every client has one record carrying stage, projects, conversations, documents and payment history, so status never has to be reconstructed.
- MilestonesApproval statesClient viewChange log
Projects & approvals
Deliverables move through explicit approval states with a client-facing view, which removes the endless 'did you see this?' thread.
- Invoice builderStripe checkoutStatus syncReminders
Payments & invoicing
Invoices are generated from project milestones and reconciled through Stripe, so paid work and unpaid work are never ambiguous.
- Thread summariesDraft updatesStall detectionSuggested next steps
AI automation
Routine work — summarising a thread, drafting an update, flagging a stalled project — is automated so the system reduces admin rather than adding it.
Tech stack
Interface
ReactTypeScriptDashboard layoutsApproval flowsBackend
PostgresRow-level securityAuthFile storageServer functionsPayments
StripeInvoicingPayment status syncAI layer
AutomationsConversation summarisationDraft generation
Challenges & how I solved them
Modelling one lifecycle across many objects
Clients, projects, invoices and messages each want to be the centre. Making the client the root and treating everything else as a scoped child removed most cross-entity edge cases.
Payment state is the hard part
Invoices can be partially paid, refunded or fail after the fact. Stripe webhooks are the single source of truth and local state is derived from them, never written optimistically.
Sharing with clients without leaking data
Client-facing views needed to expose exactly one project and nothing else. Row-level security policies are written per relationship instead of per role, which keeps access provable.
Automation that stays trustworthy
Anything AI-generated that touches a client goes into a draft state with an approval step, so automation speeds up the operator instead of speaking for them.
Results so far
- Status
- In active developmentCore lifecycle working.
- Modules
- 8Clients, projects, comms, payments, docs, automation.
- Payments
- StripeWebhook-driven state.
- Code
- Public repogithub.com/andrewmkbuilds/ClientFlow-OS
Related work
Career Technology · AI
Gradr
An AI-powered career accelerator designed to help students, graduates, and early-career professionals build stronger resumes, prepare for interviews, and manage their career journey.
Open casePersonal Finance · Gamification
Stack Up
The first product I shipped. A personal finance system designed to make spending, budgeting, and saving easier to understand and more engaging.
Open caseAI · Sustainability · E-commerce
TerraCart
An AI-powered shopping assistant designed to help people discover more sustainable alternatives while shopping online.
Open case