We build systems that run real businesses.
Software people use on a Monday morning — the till at the counter, the stock on the shelf, the case file that arrives over WhatsApp. Not demos. Systems that hold live data and cannot be down.
automated tests behind LegalFlow — including tests that prove one firm cannot reach another's files
lines of Dart at the counter, taking live sales and live stock every day
tables sealed by row-level security, so a missing filter returns nothing
Work
Four products.
Two of them carrying real weight.
LegalFlow — AI Legal Operating System
Takes a law firm's intake over WhatsApp, files every document against the right case, builds the timeline, and flags where two documents contradict each other.
Francellen — point-of-sale & inventory
One Flutter codebase on the Windows till and on Android. Takes the sale, prints the receipt, moves the stock — in the same step. In daily production use.
Innotrend — inventory for small business
Mobile inventory systems for small businesses in Ghana, built for the phone and the connection people already have.
AI systems
A new system in development, built the way LegalFlow does it: the model never touches the database, and the facts that matter are looked up, not generated.
What we do
Software, end to end —
design through deployment.
Business systems
Point-of-sale, inventory, credit, purchasing and expenses — and the reporting that turns them into a number the owner can act on, with roles so the right people see the right figures.
Mobile & desktop
One Flutter codebase across Android, Windows and web, built for the hardware people already own — including the awkward parts: thermal printers, offline moments, and a desktop window that has to read properly.
AI that can be trusted
Intake, extraction, document understanding and grounded question answering — with the boundaries drawn first: facts from the record, citations verified, a human confirming anything that carries consequence.
Multi-tenant & delivery
Software several organisations share without ever touching each other's data — plus CI that builds every push and stamps each build with its commit, so "still broken" can be checked instead of guessed at.
How we build
The decisions
we would defend.
Most of the work in a real system goes into things nobody asks for in a specification.
Watch the software in the room it lives in
Profit and outstanding credit were the first thing on a home screen that faces the shop — visible to every customer at the counter. They moved behind a deliberate tap, owner only. Today's takings stayed, because that is what the cashier needs.
The system reports; the person decides
Contradictions carry a severity, never a verdict. Detected deadlines stay unconfirmed until a human confirms them. Software that is confident about the wrong Tuesday does real harm, and no amount of fluency makes up for it.
Isolation is enforced twice
Once in the application, and again in the database — where the app connects as a role that cannot bypass it. A query written without a tenant filter returns zero rows rather than somebody else's files.
Build for the hardware that is there
A till on a four-year-old C++ runtime, an 80mm printer whose cutter sits 15mm past the print head, a phone on a slow connection. The system ships what it needs alongside it — so nobody installs anything, and the receipt footer arrives intact.
Start a project
Tell us what the
business actually needs.
The ledger that takes an evening, the file nobody can search, the process that lives in one person's head. Describe it in plain language — we will tell you honestly whether software is the answer, and what it would take.
Message on its way.
Thanks — we will come back to you at the address you gave, usually within a day or two.