Skip to content

Services

Software development services, end to end

Eleven disciplines we run in production, from a first written scope through to a health-gated release and a documented handover. Pick the one that matches your problem, or tell us the problem and we will.

Eleven disciplines, each run in production

Not a menu of everything a developer could theoretically do. Each of these is something we operate and maintain for real systems today.

Three ways to work with us

The right shape depends on whether you need something built, something maintained, or a decision made.

Project

A defined outcome with a written scope, a fixed architecture and staged delivery. Best when you know what needs to exist.

Good fit when

  • New system or platform
  • Replacing a spreadsheet process
  • A rebuild with a known target

Retainer

Ongoing capacity for a system in production - features, maintenance, monitoring and a response commitment.

Good fit when

  • Live product needing steady improvement
  • No in-house developer
  • Compliance or reporting deadlines

Advisory

Short, focused engagements that end in a written recommendation. No implementation commitment attached.

Good fit when

  • Architecture or code review
  • Build-versus-buy decision
  • Inherited codebase with no documentation

How a project actually runs

No black box. You know what happens next, roughly what it costs, and what you walk away with at each stage.

  1. 1-2 weeks

    Discovery

    We map the actual process - including the parts that happen in WhatsApp and on paper - and write down the scope, the constraints and what success looks like. You get that document whether or not you continue with us.

  2. 1 week

    Architecture & plan

    Domain model, integration map, hosting decision and a delivery plan with estimates. Trade-offs are stated explicitly, in writing, before anybody writes code.

  3. 6-12 weeks to first release

    Build in increments

    Short cycles with something reviewable at the end of each one. Automated tests and a deployment pipeline exist from the first week, not bolted on at the end.

  4. Ongoing

    Release & harden

    Health-gated deployment with automatic rollback, monitoring and alerting, restore-tested backups, and a runbook for the incidents that are actually likely.

  5. Your call

    Support or hand over

    Keep us on a support agreement, or take the documented codebase to your own team. Both are fine, and we do not make the second one difficult.

Boring technology, chosen on purpose

We pick well-supported, widely-understood tools so your system is still maintainable in five years. Novelty is a cost, and it would be your cost, not ours.

Front end

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Angular
  • Blazor

Back end

  • .NET / C#
  • ASP.NET Core
  • Node.js
  • REST & OpenAPI
  • Background workers

Data

  • SQL Server
  • PostgreSQL
  • Entity Framework Core
  • Redis
  • Time-series storage

Infrastructure

  • Linux
  • Nginx
  • Docker
  • GitHub Actions
  • systemd
  • Azure

The practices that decide whether it lasts

  • Clean architecture with a strict dependency rule
  • Automated build, test and deploy on every push
  • Health-gated releases with automatic rollback
  • Atomic releases and instant revert
  • Structured logging and alerting
  • Restore-tested backups
  • Rate limiting and input validation at every boundary
  • Secrets in the environment, never in source
  • Performance budgets enforced per release
  • WCAG 2.2 AA accessibility targets

Not sure which service you need?

Describe the problem rather than the solution. Working out which discipline it belongs to is our job, not yours.

  • A reply from a developer. Not a sales pipeline. The person who reads your message is the person who would do the work.

  • An honest answer on fit. If an off-the-shelf product solves your problem better than a custom build, we will tell you which one.

  • No obligation. A first conversation costs nothing and commits you to nothing. Discovery output is yours either way.

Or email [email protected]

Optional

A few sentences is plenty. Mention any deadline or budget constraint.

Usually answered within one business day.