CodeNine

Remote engineering firm

We build and maintain the systems businesses run on.

Companies hand us software that already runs, or needs building, and we keep it running for years.

Case studyPay 24 Financial Services
30Days to production

A failing fintech MVP, taken over and put into production in a month. It then ran just under four years.

  • 136,336 loans
  • 515,312 transactions
  • 3 systems since 2022
10
Countries
6 Years
Longest continuous client relationship
2020
Operating since
USUKGermanyItalyAfrica& more

Clients in

An inherited Django codebase open in an editor, the review in progress

Inherited Codebase Review

You own software you didn't build. The developer is gone, or the agency delivered and left. It runs, but nobody can say what's fragile. We read it over 2–3 days and write down what's actually there.

01

Architecture as it exists

Not as documented.

02

Risk register

What breaks first, and why.

03

Dependency audit

End-of-life, unpatched, abandoned.

04

Knowledge concentration

What only one person understood.

05

Prioritised remediation

With rough effort sizing.

06 · The verdict

Maintainable, needs work, or needs replacing

And what doing nothing costs.

Request a review

Read-only repository access is the whole cost. Mutual NDA on hand; named engineers only; access revoked and local copies destroyed on completion.

Why people call us

Four sentences we hear on the first call.

“The developer who built this doesn't work here anymore.”

We start by reading it, not rewriting it. The Inherited Codebase Review maps what exists, what is fragile, and what only the departed engineer understood. Then we either maintain it or replace it deliberately.

Read the Azima build

“It works, but we're scared to change anything.”

The goal is boring: you should be able to ship a change on a Tuesday without anyone holding their breath. That means tests where they earn their keep, a real staging path, and dependencies that are patched.

How we take custody

“We're losing money somewhere in operations and can't see where.”

Operational systems built for the reality that some inputs are dishonest. Recipe-level inventory, branch-by-branch expense rollup, partner-wise profit allocation, and controls that make shrinkage visible instead of assumed.

Read the Cha & Chill build

“We need something built, and someone who'll still be here next year.”

We take four clients at a time and stay for years. Our longest relationship is 6 years and counting; one client has brought us three separate production systems since 2022.

Start a project

Pay 24 Financial Services

Three production systems since 2022.

Their fintech MVP was unusable. We took it over, rebuilt it, and it ran in production for close to four years. They came back twice: a land sales platform, and phone installments enforced on the device itself.

Full-stackPayment GatewayNative AndroidDevice enforcement
Read the Azima build
Azima transaction management dashboard
30
Days, takeover to production
136,336
Loans disbursed
23,315
Distinct borrowers
160+
Plots transacted on Terrago
  • 12,237,485,182 UGX (~USD 3.3M) transacted
  • 111,616 registered users
  • 5.85 loans per borrower
  • in production March 2022 – early 2026
Cha & Chill point of sale at a branch counter
Cha & Chill ERP consolidated-order dashboard on a kitchen tablet

Cha & Chill · since 2020

Nobody hands over their operations on day one.

They hand over a website. Six years later we maintain the ERP a 27-branch franchise runs on, built hand in hand with their people, because no ERP we could find modelled a central kitchen feeding branches that resell its output as something else.

2020

A static website

Then

Coupons, expenses, one tool at a time

Now

The ERP the business runs on

27

branches, a growing franchise, and anti-shrinkage controls throughout. Operational systems built for the reality that some inputs are dishonest.

InventoryPOS integrationRecipe costingMulti-branch
Read the Cha & Chill build

The ERP is CodeNine's. BPOS, the POS it integrates with, is BizSolution's product and IP. Sister concerns under common ownership.

How we work

Custody, not delivery.

The goal is boring: you should be able to ship a change on a Tuesday without anyone holding their breath.

A retainer is monitoring and on-call for the systems we hold, dependency and security patching, small changes shipped continuously, a written state-of-the-system each quarter, and a scoped estimate before anything large. Nothing about it is standby availability.

No handover

The engineers who scope the work write it

There is no salesperson in between, and nothing is translated on the way in.

Four clients at a time

A capacity limit, stated

It is the reason custody works, and the reason we sometimes say no.

Specialists, not a bench

The right skill, contracted per project

Native Android on the Pay 24 systems is the clearest example. Carrying a full-time bench is worse economics.

What custody actually includes

Uptime
Monitoring we watch, and a named engineer who answers when it fires.
Dependencies
Patched on a schedule, not when something breaks.
Changes
A running queue of small work. The business keeps moving, so the system does too.
Platform risk
We track the APIs and policies your model depends on, and warn you early.
Access
Direct to the engineers on your system. No account manager relay.

Technology

Breadth is inheritance, not padding.

You work in whatever the system already runs on. Django and PostgreSQL are in production across all four systems we've shipped. NestJS is almost entirely inherited.

We also build real-time voice agent and telephony platforms.

Surface
What we use
Backend
DjangoPostgreSQL
Client
ReactNext.jsTanStackReact Router
Mobile
ExpoReact Nativenative Android where the model needs it
Desktop
Electron, branch POS terminals
Smaller services
NodeExpress
Inherited
NestJS, mostly systems we've taken over
Cloud
AWSAzureGoogle CloudDigitalOcean
Collins Mugume
“Our first build was unusable and I was ready to give up on the product. They had a working version live in a month. Four years and three systems later, I still send them everything.”
Collins MugumeCo-Founder, Pay 24 Financial Services

Contact

Talk to the engineer who would do the work.

[email protected]

Working hours

10:00–19:00 UTC

11:00–20:00 CET · 06:00–15:00 US Eastern
The full European working day, plus US Eastern morning into early afternoon.

Where we are

Fully remote, and always have been. No office, no street address. Clients in 10 countries across 5 continents.

5.0

across 58 orders on Fiverr