Case Study: Monolith
We built our own business operating system
Most agencies run on a stack of disconnected tools. One app bills the clients, another handles forms and signatures, a spreadsheet or a notes app holds everything in between. Every handoff is manual, and the numbers slowly drift apart. We decided to stop working that way and build the system we actually wanted: one place that runs the whole business, from the first inbound lead to the paid invoice.
1
Internal platform in place of a patchwork of separate billing, forms, and notes tools
15
Modules under one sign-in, from clients and invoicing to bank import, site monitoring, reporting, and client portals
100%
Row-level security. Access is enforced at the database, not just in the interface
Zero
Floating-point money. Every figure is an exact decimal, summed in whole cents, never a float
The challenge
Running an agency generates a surprising amount of administration. Leads arrive, quotes go out, contracts get signed, invoices get raised, payments get recorded, subscriptions renew, expenses accumulate. Spread that across four or five separate tools and two things happen. The busywork multiplies, because nothing talks to anything else. And the truth drifts, because the same client exists in a slightly different form in every app.
We wanted the opposite: a single source of truth, with the routine work automated, on a foundation we could genuinely trust with real business records. That last part mattered most. A tool that holds your finances and your contracts has to be secure by design, not by good intentions.
The approach
One system, not seven tabs
The console brings the whole back office under one sign-in. A client record carries its own pipeline stage, contacts, and history. Invoices are built from line items, rendered as branded PDFs, emailed, and set to recur on a schedule. Contracts are composed from templates and signed electronically, with the signing evidence recorded. Quotes are priced, sent, and, when a client accepts, converted into a draft invoice automatically. Around all of that sit expenses, software subscriptions, a reporting view, and an activity timeline that records what happened and when.
Security designed in, not added later
Every table in the database enforces row-level security, so access is decided at the data layer rather than trusted to the interface. The whole console sits behind two-factor authentication, backs up every business record to private storage each night, and is never indexed by search engines. The few client-facing pages, where someone can view an invoice or review and sign a contract, are reached only through a private, unguessable link. Each one exposes a single record, carries no login, and offers no way to browse anything else.
Money you can actually trust
Financial software lives or dies on its arithmetic. Every amount is stored as an exact decimal alongside its currency, and every total is summed in whole cents, so no rounding error ever creeps into a figure. When the full billing history was brought in, the receivables reconciled to the cent against the previous records. The numbers are correct, and they stay correct.
AI that keeps the books real
Bookkeeping is where internal tools usually give up and hand you a spreadsheet. Here, the console does the reading itself. Drop in a bank statement PDF, even a batch of them, and an AI model extracts every transaction line. The system then proves the extraction deterministically: the printed opening balance plus every line must equal the printed closing balance to the exact cent, or nothing is imported. Charges that match a known software subscription link themselves to it, transfers are recognised and kept out of the expense totals, and every line is previewed for approval before a single record is written. The result is a profit and loss view built from what actually happened in the account, not from estimates.
Automation that does the boring part
The real reason to build it ourselves was the automation. The console reconciles receivables on its own: when a payment covers an invoice, that invoice marks itself paid, and when the money picture changes, the status changes back. Client records keep themselves current, so the last-contact date, next payment due, and pipeline stage update as work actually happens rather than when someone remembers to log it. Overdue invoices escalate on a schedule into ready-to-send reminder drafts, and contracts that sit unsigned climb their own follow-up ladder the same way. Instalment plans count themselves, so a six-payment agreement issues exactly six invoices and then stops. When a new lead arrives, the system drafts the first reply for approval. Throughout, one firm rule holds: anything that would reach a client is prepared automatically but sent only after a human approves it. The machine does the repetitive, checkable work. A person keeps the judgement.
A system that reports to you
A tool you have to remember to check is only half a tool. The console carries standing obligations, from tax deadlines to the monthly statement upload, and banners anything due on every screen until it is done. Once a week it emails the operator a digest: what needs attention, what is overdue and by how long, what renews and falls due in the week ahead, and what came in last week. On a quiet week, the subject line simply says all clear. The watching extends beyond the back office: every client website we manage is checked around the clock, and the operator hears the moment one goes down and the moment it comes back.
Built to be used, not admired
An internal tool only earns its keep if it is genuinely faster than the tools it replaced. The console is fully usable on a phone, opens any screen or client from a command palette with a single keystroke, and gives immediate feedback on every action. It is quiet, quick, and out of the way, which is exactly what a tool you use all day should be.
The results
- One internal platform in place of a patchwork of separate tools for billing, forms, and notes.
- Fifteen modules under a single sign-in: clients and pipeline, leads, invoicing, recurring billing, contracts with electronic signing, quotes, payments, subscriptions, expenses, bank import, site monitoring, reminders, reporting, and client portals.
- AI-powered bank statement import: drop in a statement PDF and the system reads every line, proves the math against the printed balances to the cent, matches charges to known subscriptions, and turns approved lines into real expense records.
- A true profit and loss view over the full history of the business, reconciled to the cent and exportable for year-end.
- The system reports to the operator, not the other way around: standing obligations banner on every screen until done, overdue invoices escalate into ready-to-approve reminders, and a weekly digest email summarises what needs attention.
- Row-level security on every table, so access is enforced at the database. The console sits behind two-factor authentication, backs itself up nightly, and is kept out of search engines entirely.
- Client-facing portals reached by private link only: view an invoice, review and sign a contract, or accept a proposal, each exposing a single record and nothing else.
- Exact-decimal money throughout, summed in whole cents so figures never drift. The full billing history reconciled to the cent on import.
- Automation for the repetitive work: self-reconciling receivables, self-updating client records, and auto-drafted routine documents, with a person approving anything that reaches a client.
- Every client website monitored around the clock, with an alert the moment one goes down and another the moment it recovers.
- AI-drafted first replies to inbound leads, and a 90-day cash-flow forecast built strictly from scheduled items, never from guesses.
- An automated test suite locked around the money paths, so the arithmetic that runs the books is proven on every change.
- Fully mobile-ready, with command-palette navigation and instant feedback on every action.
This is the same capability we bring to client work. Most businesses run on spreadsheets and a drawer full of disconnected apps, and most of that daily busywork can be replaced by software that fits the business, with automation running quietly underneath it. That is the work we do under AI automation. We built ours. We can build yours.
Run your business on software that fits it
If your operation lives in spreadsheets and separate tools, there is usually a better system waiting to be built. Book a free consultation and we will map out what yours could look like.
Book a Free Consultation