Services
Four practices. Everything built, not resold.
Each of these is running in a live client operation today. Engagements usually cross more than one practice, because operations do.
Business systems
The systems the business runs on.
ERP, point of sale, HR and stock control, built around how an operation actually works and deployed into daily use. Not a template configured to fit — built to the process, then run in production.
CEO · CFO · Operations · Branch managers

Stock counted, not estimated
Variance surfaces the day it happens rather than at the year-end count, while there is still something to be done about it.
One set of numbers
Finance, procurement and the shop floor read the same figures at the same time, so the meeting argues about the decision rather than the data.
Branches that survive the line going down
A till keeps selling when connectivity drops, and reconciles cleanly when it returns.
Payroll that matches the roster
Hours, leave and pay computed from one record instead of re-keyed between three systems.
What we build
- ERP
- Finance, procurement, inventory and reporting for import, wholesale, retail and manufacturing businesses.
- Point of sale
- Multi-branch POS with offline capture and reconciliation on reconnect.
- HR and payroll
- Staff records, leave, rostering and payroll computed against local statutory requirements.
- Stock control
- Unit and recipe-level stock for hospitality, retail and manufacturing, including multi-store transfers.
The agent layer here. Agents watch stock and cash movement continuously and raise the exception the day it appears, instead of waiting for someone to run a report.
Sector platforms
Where generic software does not fit.
Regulated and specialist operations whose rules are specific enough that packaged software makes the operation bend around the product. We build the other way round, and carry the compliance and audit requirements in the design rather than bolted on after it.
Hospital administrators · Claims managers · NGO programme and finance leads

Patients move, the record follows
Intake, clinical notes, pharmacy and billing sit on one record rather than four systems that disagree.
Claims triaged before a human opens them
Volume is sorted by rule on arrival, so assessors spend their time on the files that actually need judgement.
Every shilling traceable to its purpose
Disbursements carry the trail a donor audit asks for, produced by the system rather than reconstructed afterwards.
What we build
- Hospital management
- Patient records, intake, wards, pharmacy, laboratory and billing on a single record.
- Insurance claims management
- Claim intake, adjudication rules, assessor workflow, settlement and a complete audit trail.
- Fraud detection for NGOs
- Transaction and beneficiary analysis that surfaces duplicate identities, ghost recipients and collusion patterns.
The agent layer here. Agents handle intake and triage — reading what arrives, classifying it, and escalating the cases that need a person.
Analytics engineering
Relationships, not rows.
Graph engineering models data as entities and the connections between them. Questions about connection — who is linked to whom, which paths keep recurring, where a network quietly concentrates — are answered directly, where a table of rows answers them slowly or not at all.
CFO · Risk and audit · Data and strategy teams

Networks you could not see before
Suppliers sharing a bank account, beneficiaries sharing an address, claims sharing an assessor. Connection is the thing a graph is built to find.
One agreed definition per measure
A metric layer under version control, so two departments reporting the same number get the same answer.
Reporting that runs itself
Pipelines that land tested data on a schedule, replacing the monthly assembly by hand that nobody quite trusts.
What we build
- Graph engineering
- Entity and relationship models, graph pipelines, and the queries that traverse them.
- Data platform and pipelines
- Ingestion, transformation and testing that land clean data on a schedule you can rely on.
- Metric layer and reporting
- Defined, documented measures, and reporting built for the decisions it supports.
The agent layer here. Agents query the graph in plain language, so asking how two entities connect does not require someone who writes traversals.
Conversational AI
Answer where the customer already is.
Assistants that speak more than seventy languages, embedded in the channels your customers already use rather than a widget they have to go and find. They sit on the systems above, so an answer about an order, a bed or a claim is read from the record rather than guessed at.
Customer service · Marketing · Branch operations

Answered in the language it was asked in
More than seventy languages, so a customer is not made to switch language to be understood.
Present on the channel, not on your website
WhatsApp, Facebook, Instagram, TikTok and X — where the conversation is already happening.
Answers from the record, not from guesswork
Wired into the operational system, so stock, bookings, balances and claim status are read rather than invented.
What we build
- Omnichannel assistants
- One assistant deployed across WhatsApp, Meta channels, TikTok, X and the web.
- Voice and text
- Spoken and written conversation across more than seventy languages.
- System-grounded responses
- Retrieval and actions wired into the ERP, hospital or claims platform underneath.
The agent layer here. This is the customer-facing half of the agent layer: the same tools an internal agent uses, exposed to the person asking.
What we build with
A deliberately narrow stack.
We would rather know five technologies deeply than twenty superficially. Where a project genuinely needs something else, we say so rather than reaching for the tool we already own.
- PostgreSQL
- The default datastore. Relational until there is a measured reason not to be.
- Rust
- Where correctness and throughput matter more than how fast we can write it — services, CLI tools and licence servers.
- Python
- Data work, analysis and the AI and evaluation pipelines.
- TypeScript
- Application and API code, typed end to end so the compiler catches what review would otherwise have to.
- React
- Interfaces, including generative UI dashboards built on CopilotKit.
Not sure which of these you need?
That is a normal place to start. Describe the problem and we will tell you which of these it actually is — including when the answer is none of them.