How we work

We run what we build. It changes how we build it.

Most software vendors ship and leave. We operate our platforms ourselves, which means every shortcut comes back to us at 2am. That single fact shapes every decision on this page.

01 / Method

Five phases, in this order, every time.

The order matters more than the phases. Most failed systems were built in exactly the reverse sequence.

  1. 01

    Understand the operation

    We map how the business actually runs before we design anything: who decides, who approves, where the exceptions go, what happens at month end, and which spreadsheet everybody secretly depends on. That last one is usually the real specification.

    Output · Operating model, roles, exception paths

  2. 02

    Model the domain

    We write the data model and the boundaries first — tenancy, permissions, the ledger, the audit trail. Getting these wrong is the only mistake that cannot be refactored away later, so they get written down and reviewed before code.

    Output · Data model, security posture, architecture spec

  3. 03

    Build a vertical slice

    The first release is one complete path through the system, end to end, working properly — not eight half-built modules. It proves the architecture under real load and gives everyone something honest to react to.

    Output · One working path, in production

  4. 04

    Widen, then harden

    Modules are added against the model that already exists. In parallel we push on the unglamorous half: background jobs, failure handling, provider fallback, monitoring, alerting and the reports that operations actually open every morning.

    Output · Full surface area, observable in production

  5. 05

    Operate and improve

    We run what we build. That means we get the 2am alert, we do the incident review, and we feel every design decision we made. It is the most reliable quality control mechanism in software.

    Output · Live operation, continuous change

02 / What we believe

Opinions we will not trade away.

These are not values on a wall. Each one has cost us time on a project and earned it back on the next one.

Own it, or do not claim it

Everything shown on this site is a system we own and operate. We are not presenting client projects we handed over. When we say a platform clears £2 million a month, that is our platform and our operations team.

The exception is the product

The happy path takes a fortnight. The value of a real system is in the refund that breaks policy, the payout partner that goes down at 7pm, and the applicant whose documents do not match. We design for those first.

Evidence beats memory

Every consequential action stores what happened, who did it, and what inputs produced the decision. Not because it is elegant, but because one day somebody will need to reconstruct it and memory will not be available.

Policy is data, not code

Fees, limits, plan inclusions, refund rules and risk thresholds live as configuration. A commercial decision should be an afternoon and an audit entry, never a release and a regression risk.

Boring technology, applied hard

We pick mature frameworks with long support horizons and deep talent pools, then spend the saved novelty budget on domain modelling and operational rigour, where it actually compounds.

Say what is not built

Our specifications state explicitly what is implemented and what is not. Overselling scope is how software projects die, and it is the fastest way to lose an operator who has been burned before.

If a system cannot explain how it reached a number, it is not finished.

Next step

Want the long version?

We are happy to walk through the architecture of any platform on this site, including the parts we would build differently today.