About

Fifteen years of expensive mistakes.

Other people's, mostly, and a fair number of our own. That's what experience actually is — a catalogue of the ways software goes wrong, and the instinct to see them coming. It's the entire product here.

2011 → today
The arc

Every rung of the ladder, in order.

Consultancies sell you seniority. This is what the seniority is made of — each role adding a kind of judgment the previous one couldn't teach.

Developer

Rails and Node, shipping features against client requirements. Where you learn that working code and finished code are different things.

Technical lead

Owning delivery end to end — architecture, deployment, servers, estimation, and a team of twenty-plus developers. Where you learn that most project failures are decisions made in week one.

Solutions architect

Designing systems before they exist. Microservice decomposition, serverless architectures, infrastructure cost, security, and the feasibility calls that decide whether something is worth building at all.

Delivery & consulting

Pre-sales, scoping and estimation for work that had to be won before it could be built. Including building an engineering practice from zero to a delivering team. Where you learn to price honestly, because you carry the consequences of not doing so.

Engineering manager — now

Leading a team that builds production software with AI, under test-driven discipline and measured delivery metrics. Which is why the six-week timelines on this site are a description rather than a claim.

How we work

Four positions, held honestly.

  • AI writes the code. Judgment decides what to keep. We're not sceptics — production software here is built with AI every day. But the tools generate; they don't decide. The data model, the permission boundary, the payment edge case and the feature left out are where products are won and lost, and none of them are typing problems.
  • Boring technology, chosen on purpose. Node, Rails, Python, Postgres, AWS. Nothing fashionable, everything well-supported and hireable for. Your next developer should be able to pick it up without a translator.
  • The best outcome is often "don't build that." Discovery sometimes concludes the scope is wrong, or an existing tool already does it. You'll be told plainly. It's a cheaper conversation in week one than in week five.
  • Deliberately small, and staying that way. A limited number of engagements at a time is what keeps every one of them architect-led. If there's no capacity for your timeline, you'll hear that instead of a stretched yes.
Where the experience came from

Domains with consequences.

01

Payments

PCI-DSS integrations across Stripe, PayPal, Worldpay, PayU and CCAvenue.

02

Insurance

Application flows with KYC, risk assessment and due diligence on core policy platforms.

03

Financial market data

Market data and price charts at thousands of visitors an hour on microservice infrastructure.

04

Healthcare

Personalized in-app experiences driven by live user data on a US digital health platform.

05

Connected devices

IoT telemetry pipelines and voice assistant integrations for smart home hardware.

06

Supply chain

Multi-tenant tracking platforms with configurable lifecycle stages and distributed ledgers.

Tooling

Boring technology, chosen on purpose.

Nothing here is fashionable. All of it is well-supported, widely known and hireable for — so whoever works on your product after us can pick it up without a translator.

Build
  • Node & NestJS
  • Ruby on Rails
  • Python
  • TypeScript
Run
  • AWS
  • Serverless & Lambda
  • Docker
  • Kubernetes
Scale
  • Postgres & MySQL
  • Kafka
  • Redis
  • Elasticsearch
Verify
  • RSpec & Jest
  • CI/CD pipelines
  • Monitoring & alerting
  • DORA metrics
Selected work · anonymized

Four engagements, in more detail.

Financial media platform · India · 4,000–6,000 visitors/hour

A legacy PHP monolith served market data, news, price charts and company events to retail traders, and had reached the point where scaling it meant buying more hardware. Over two years, as solutions architect, it was decomposed into microservices on modern infrastructure while staying live throughout. Monthly infrastructure costs fell by roughly 76% — the rebuild paid for itself inside eighteen months and every month since has been margin.

Insurance group · Pan-African

Two insurance products needed customer-facing application journeys built on top of an existing core policy platform, each with KYC, risk assessment and due diligence steps that had to satisfy regulators as well as customers. Built serverless on AWS so cost tracked actual application volume rather than provisioned capacity. Around 2,000 policies sold monthly across the two products.

Consumer application · production traffic

Manual deployments that took the site down, no monitoring, no recovery path. Rebuilt onto load-balanced infrastructure with an automated pipeline, alarms and auto-recovery. Releases stopped causing downtime.

Digital health platform · United States

Personalization of in-app experiences driven by live user data. Over 5% measured revenue impact.

Next step

Start with a conversation.

Twenty minutes, no pitch. If we're not the right fit for what you need, you'll hear that on the call rather than after an invoice.