Services
Web application development
Software that runs in a browser and holds up in production. We build the product, the API behind it and the tests that keep both honest.
Interfaces people can actually use
Component driven interfaces built for real conditions: slow networks, small screens, assistive technology and users who are in a hurry. We target WCAG 2.2 level AA rather than treating accessibility as a late pass.
- Design system and reusable components
- Server rendering where it earns its keep
- Keyboard and screen reader support
- Measured against real device performance
APIs that are boring on purpose
Typed endpoints, explicit contracts, and a relational schema designed before the first migration. Boring is what still works in year three.
A model that survives change
Normalised where correctness matters, denormalised where speed does, with migrations that run forward safely and roll back without drama.
The systems you already run
Payments, identity providers, messaging, accounting and internal services, wired with retries, idempotency and a clear story for what happens when a third party is down.
Tests where they pay
Unit tests around the logic that would be expensive to get wrong, integration tests over the critical paths, and a pipeline that blocks a broken build from reaching anyone.
What we build with
We choose the boring, well supported option unless there is a specific reason not to. Your team has to run this after we hand it over.
How the work runs
Agree the problem
A short paid discovery. We read the existing system, talk to the people who use it, and write down the scope, the risks and what success means before anyone opens an editor.
Decide before building
Flows, screens and the data model, reviewed with you. Deciding on a prototype costs hours. Deciding in production costs weeks.
Ship in slices
Two week iterations, a working build at the end of each, and a demo you can click. You see progress as software, not as a status report.
Stay after launch
Monitoring, fixes and small improvements under a support retainer, or a clean handover to your own team with the documentation to run it.
Questions we get asked
How long does a first version take?
Most first versions land between eight and sixteen weeks, depending on how many external systems are involved. Discovery gives you a firm range before you commit to the build.
Can you work with our existing codebase?
Yes, and it is a large part of what we do. We start with a short review of the code, the data and the deployment path, then agree what is worth changing and what is worth leaving alone.
Who owns the code?
You do. Ownership of the delivered work transfers to you as set out in the statement of work once fees are paid, and we hand over the repository, the infrastructure definitions and the documentation.
Do you provide support after launch?
Yes. Support retainers cover monitoring, fixes and small improvements against agreed response targets. The targets are summarised on our service levels page.
Will we be locked into you?
No. We build on mainstream tools, we document as we go, and a clean handover to your own team is a normal way for an engagement to end.
Have a web product to build or rescue?
Tell us what you are trying to ship and what is in the way. We will tell you honestly whether we are the right team for it.