Skip to content

Custom software

Software that actually ships, and scales.

Custom web applications, production APIs, SaaS products and enterprise systems — scoped, architected, built and deployed, with documentation, tests and code you can hand to somebody else.

Our stack

Built on proven, modern technology.

The technologies strong engineering teams rely on now — not the ones we were comfortable with five years ago.

  • React
  • Next.js
  • TypeScript
  • Vue.js
  • Tailwind CSS
  • Node.js
  • Python
  • FastAPI
  • Express
  • GraphQL
  • PostgreSQL
  • MongoDB
  • Redis
  • Supabase
  • S3 / R2
  • Docker
  • AWS
  • GCP
  • Vercel
  • GitHub Actions

What we build

Software for the process no product on the market fits.

From a single-feature web app to a full platform. Every project ships with documentation, tests, and a handover that assumes we might not be the ones maintaining it.

  • Custom web applications

    The internal tool, customer portal or operational system your business runs on, built around your actual process rather than bent to fit somebody else’s product.

    The spreadsheet holding the business together retires

  • APIs & integrations

    REST and GraphQL APIs, plus the middleware that makes systems which were never designed to talk to each other behave as one.

    Data stops being re-keyed between tools

  • SaaS product development

    Multi-tenant products with authentication, billing, roles and permissions built correctly from the start — because retrofitting tenancy is the expensive way to learn about it.

    A product you can sell, not a prototype

  • System integration & middleware

    Connecting existing platforms — CRM, accounting, inventory, logistics — so a change in one is reflected everywhere without anyone copying it across.

    One version of the truth, across every tool

  • Database design

    Schema design, migration strategy, indexing and query performance work — the layer that decides whether the application is still fast in two years.

    Performance that holds as the data grows

  • DevOps & cloud

    Containerisation, CI/CD pipelines, infrastructure-as-code, monitoring and backups. Deploying should be boring.

    Releases that stop being an event

Software + AI

Both halves, under one roof.

Most AI projects fail at the boundary rather than the model: the intelligence works, and then it has nowhere to live. It needs an interface people will actually use, a database that holds the results, permissions that decide who sees what, and a deployment somebody maintains.

Because we build the software as well as the AI, that boundary is not a handover between two suppliers pointing at each other. It is one system, scoped and owned in one place.

  • AI capability designed into the architecture, not bolted on after
  • One team accountable for the model and the application around it
  • Fixed-price scope agreed before the build starts
  • Documentation and tests, so the code outlives the engagement

How we work

What exists at the end of each stage.

  1. 01

    Discovery & scope

    We map the process the software has to serve, agree what is in and explicitly out, and produce a fixed price. You keep the scope document either way.

  2. 02

    Architecture

    Data model, integrations, infrastructure and the decisions that are expensive to reverse — written down and agreed before anything is built on top of them.

  3. 03

    Build & review

    Delivered in working increments you can use and react to, rather than one reveal at the end when changing direction is most expensive.

  4. 04

    Deploy & hand over

    Live, monitored, backed up, documented. Handover assumes somebody else may maintain it — because eventually somebody else might.

FAQ

Common questions.

Do we own the code?

Yes, outright, in your own repository. Documentation and tests come with it. Nothing is held hostage to keep you on a retainer.

How is it priced?

Fixed price against an agreed scope, produced during discovery. If the scope changes mid-build we price the change before doing it, rather than after.

What if we already have a development team?

Then we work alongside them — a specific subsystem, an integration, or the AI layer — to the same standards, in your repository, reviewed by your people.

What happens after launch?

Whatever you want to happen. Some clients take it in-house immediately, some keep us on for ongoing development. The handover is the same either way, because it is written for someone who isn’t us.

Next step

Have a software project in mind?

Bring the process, not a specification. The discovery call produces a scope and a fixed price, and you keep both.