Custom Software Development

End-to-end product builds — MVPs, full platforms, legacy replacements, and major features. Discovery first, senior-weighted teams, and a handover you can actually run.

Developer writing code on a laptop
Working software, deployed and running
Your repository, your cloud account, from day one
Architecture notes and runbooks written as we go
A handover walkthrough with whoever owns it next

This is the build. You know what you need — or we worked it out together in discovery — and now it has to exist, work correctly, and keep working after we're gone.

We staff engagements senior-heavy. Fewer people who need less direction beats a large team that needs managing, and it is usually cheaper in total even at a higher day rate.

What we do

What we build

Six kinds of engagement. The common thread is that you end up owning something you can run, extend, and hand to another team without us.

01MVP developmentThe smallest thing that proves the idea, built properly enough that v2 isn't a rewrite.

The smallest version that proves the idea is real, built well enough that version two is an extension rather than a rewrite. The discipline here is subtraction: most MVP scope documents contain two or three features that genuinely test the hypothesis and a dozen that merely feel necessary. We work with you to identify which is which, then build the small set properly — real authentication, real data handling, real deployment — because an MVP that falls over in front of your first customers has proven nothing.

  • Scope reduction to the testable core
  • Production-grade auth, data, and deployment
  • Analytics wired in from launch
  • An architecture that survives version two
02Full platform buildsMulti-role systems with real workflows, integrations, permissions, and admin tooling.

Multi-role systems with real workflows, permissions, integrations, and the administrative tooling that operations teams actually need. These builds fail on the parts nobody demos: role hierarchies that turn out to need exceptions, an approval flow that has to be reversible, reporting that must reconcile with a finance system. We surface those in discovery, because retrofitting a permissions model into a running platform is one of the most expensive things in software.

  • Role and permission modelling up front
  • Workflow and state-machine design
  • Third-party and internal system integration
  • Admin and operations tooling
  • Reporting that reconciles with your finance data
03Legacy modernisationIncremental replacement of systems that still run the business. Strangler-fig, not big-bang.

Incremental replacement of systems that still run the business and cannot be switched off for a weekend. We use the strangler-fig approach: stand up the new system beside the old one, route traffic feature by feature, and keep both correct until the old one has nothing left to do. It takes longer than a rewrite on paper and finishes sooner in practice, because there is never a single terrifying cutover date that the whole company has to survive.

  • Dependency and data-flow mapping
  • Anti-corruption layer between old and new
  • Feature-by-feature traffic migration
  • Data reconciliation during the transition
  • Decommissioning plan for the old system
04API & integration workConnecting systems that were never designed to talk — payment providers, ERPs, third-party data.

Connecting systems that were never designed to talk to each other — payment providers, ERPs, carrier APIs, partner portals, and the internal service whose documentation went out of date in 2019. The engineering is rarely the hard part; the hard part is the failure modes. We design for partial failure, retries that do not duplicate transactions, and reconciliation when a third party goes down mid-operation, because those situations are certain rather than hypothetical.

  • Integration surface mapping
  • Idempotent operations and safe retries
  • Reconciliation and error-recovery flows
  • Rate limiting and backpressure handling
  • Documented contracts for every interface
05Mobile applicationsCross-platform and native builds, including the release and store-submission process.

Cross-platform and native builds, including the parts teams forget to budget for: store submission, review rejections, staged rollouts, and supporting the two OS versions behind current. We advise on the cross-platform-versus-native decision based on what the app actually does rather than on principle — most business applications are well served by React Native, and the ones that are not usually involve heavy device hardware use.

  • Platform choice based on real requirements
  • Offline behaviour and sync strategy
  • Store submission and review handling
  • Staged rollout and crash monitoring
06Internal toolsAdmin panels, dashboards, and operations tooling — the software your team uses to run the product.

Admin panels, dashboards, and operations tooling — the software your team uses to run the product, which is almost always under-invested in relative to how much time it consumes. A support workflow that takes six clicks instead of two, multiplied across a team and a year, is a real cost. These builds are fast and the return is unusually easy to measure.

  • Workflow analysis before building
  • Bulk operations and keyboard-first design
  • Audit logging on state changes
  • Role-appropriate views for each team

Who it’s for

Who this is for

  • Founders who need a first version built by people who have shipped before.
  • Companies with a product roadmap and no bandwidth to build it.
  • Teams carrying a system that has become too fragile to change safely.
  • Businesses whose operations run on spreadsheets that outgrew themselves.

Process

How a build runs

  1. 01

    Discovery

    Requirements, constraints, and technical approach. Ends with a scoped estimate and a delivery plan.

  2. 02

    Foundation

    Repository, environments, CI, and the architectural skeleton. Deployed and running before feature work starts.

  3. 03

    Build

    Two-week cycles with a working deployment and a demo at the end of each one.

  4. 04

    Hardening

    Load testing, security review, monitoring, and alerting configured before anyone calls it done.

  5. 05

    Launch & handover

    Production release, documentation, and a walkthrough with whoever owns it next — your team or ours.

How we keep a build from going wrong

Most failed projects fail the same few ways. These are the specific things we do about it.

Fixed-scope discovery first

A short paid discovery produces the estimate. We don't quote a number for work nobody has scoped yet.

Working software every two weeks

You see running software on a real environment, not a progress percentage in a status report.

Your repository, from commit one

Code lives in your organisation's account throughout. There is no handover event where access changes hands.

Documented handover

Architecture notes, runbooks, and environment setup written as we go — so another team could pick it up.

Technologies we build with

Chosen per project against your constraints — not a list of everything anyone here has ever touched.

Back-end
  • Node.js
  • .NET
  • .NET Core
  • C#
  • Python
  • Java
  • Go
  • PHP
  • Ruby
  • Express
  • NestJS
  • Django
  • FastAPI
  • Spring Boot
Front-end
  • React
  • Next.js
  • Angular
  • Vue.js
  • TypeScript
  • JavaScript
  • HTML5
  • CSS3
  • Tailwind CSS
  • Redux
  • SASS
Mobile
  • React Native
  • Flutter
  • Swift
  • Objective-C
  • Kotlin
  • Java (Android)
  • iOS
  • Android
  • Expo
Cloud
  • AWS
  • Microsoft Azure
  • Google Cloud
  • Vercel
  • Cloudflare
  • DigitalOcean
Data
  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • Elasticsearch
  • DynamoDB
  • Snowflake
  • BigQuery
  • Kafka
  • Airflow
  • dbt
AI & ML
  • OpenAI
  • Anthropic Claude
  • LangChain
  • PyTorch
  • TensorFlow
  • Hugging Face
  • pgvector
  • Pinecone
  • scikit-learn
DevOps
  • Docker
  • Kubernetes
  • Terraform
  • GitHub Actions
  • GitLab CI
  • ArgoCD
  • Prometheus
  • Grafana
  • Datadog
  • Sentry
ERP & CRM
  • Salesforce
  • Apex
  • Lightning
  • Odoo
  • NetSuite
  • SuiteScript
  • SAP
  • Microsoft Dynamics 365
  • Power Platform
  • Zoho
Commerce & SaaS
  • Shopify
  • Stripe
  • Contentful
  • Auth0
  • Twilio
  • SendGrid
  • HubSpot

FAQ

Common questions

If something here isn't answered, ask on a call — we'd rather tell you plainly than have you guess.

How do you price a build?

Fixed price for well-scoped work, time and materials for work that will genuinely change shape as we learn. We tell you which one applies and why before you commit.

What happens if the scope changes mid-project?

We re-estimate the affected work and you decide whether to proceed. Scope change is normal; discovering it at the end is not.

Who owns the code?

You do, from the first commit. It sits in your repository under your organisation's account for the entire engagement.

Tell us what you’re working on

We reply within one business day, and we’ll tell you honestly if we’re not the right fit.

  1. 1. We read it properly and reply within a business day.
  2. 2. A 30-minute call to understand the problem.
  3. 3. A written proposal, or an honest referral elsewhere.