Skip to content
    All projects

    Business Operating System · AI

    ClientFlow OS

    A unified platform for managing clients, projects, conversations, payments, documents, and workflows in one connected system.

    AIReact

    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

    Built by Andrew

    Inside the product

    The main screens and what each one does.

    • Stages
      Contacts
      Linked projects
      Activity feed

      Client lifecycle

      Every client has one record carrying stage, projects, conversations, documents and payment history, so status never has to be reconstructed.

    • Milestones
      Approval states
      Client view
      Change log

      Projects & approvals

      Deliverables move through explicit approval states with a client-facing view, which removes the endless 'did you see this?' thread.

    • Invoice builder
      Stripe checkout
      Status sync
      Reminders

      Payments & invoicing

      Invoices are generated from project milestones and reconciled through Stripe, so paid work and unpaid work are never ambiguous.

    • Thread summaries
      Draft updates
      Stall detection
      Suggested 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 flows
    • Backend

      PostgresRow-level securityAuthFile storageServer functions
    • Payments

      StripeInvoicingPayment status sync
    • AI 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