Custom web applications
Browser-based tools that do the specific job no off-the-shelf product does well.
- Engagement
- Phased build with fortnightly demos
- Typical timeline
- 10–12 weeks
- Starts with
- A screen-share of the spreadsheet or process exactly as it runs today, mistakes included.
The process runs on a spreadsheet with nine tabs, three of which hold formulas only one person understands. It works right up until two people open it at once, or that person takes annual leave.
Software shaped to your process instead of the other way round.
What we build
Concrete artefacts, handed over and documented.
A written scope that names the parts we are deliberately not building in version one
A data model designed before any screen, because the shape of the data decides what the software can do in year two
The working application: roles, permissions, audit trail, and the two or three screens where the real work happens
Migration of the existing spreadsheet or system, with the messy historical rows reconciled rather than quietly dropped
Deployment, backups and a staging environment where your team can try a change before customers meet it
What changes
The process survives the person who invented it leaving the company
Several people work at the same time without overwriting each other
Mistakes appear in an audit log the same day instead of surfacing at month end
How it runs
01Scope and data model
We watch the process run, then write down the entities, the states they move through, and the rules that are currently in someone’s head.
02Build in slices
A working demo every fortnight, always on a real URL with real data, so course corrections cost days rather than a rebuild.
03Migration and cutover
Historical data imported and checked, both systems run in parallel for a week, then the spreadsheet goes read-only.
Chosen per project. Named here so you can see the shape of it.
- Next.js
- Postgres
- Supabase
- Vercel
- Sentry
Questions we get asked
Tell us the outcome, not the tooling.
Send us the situation you are in. We will tell you which discipline it belongs to, what we would do first and what it costs, including when the answer is to wait.


