Services
Custom Software & Product Engineering
Software built to be maintained, not just delivered.
Web and mobile applications, internal platforms and legacy modernisation — built by small senior teams, in short iterations, with the tests and documentation that let someone else pick the work up later.
The situation
Why clients call us about this
The software that holds a growing business together is rarely the software anyone planned. It is the spreadsheet that became load-bearing, the vendor tool that almost fits, the application written by someone who left two years ago. It works until the day the business needs it to change quickly, and then it does not.
What changes afterwards
- An application your team can change confidently, because tests catch mistakes before customers do
- A codebase a new engineer can be productive in within their first week
- Manual processes replaced by systems that hold the rules
- Integrations between the tools you already run, instead of re-keyed data
- A clear, honest picture of what is worth rebuilding and what is worth leaving alone
Capabilities
What this practice covers
Not every engagement uses all of it. We scope to the problem, not to the list.
Web application development
Customer portals, internal tools, dashboards and line-of-business applications, built with mainstream frameworks that your next hire will already know.
Mobile applications
Cross-platform iOS and Android applications where that serves you, native where it genuinely does not, with an honest account of the trade-off.
API and platform engineering
Documented, versioned APIs and the services behind them, designed so the teams and partners who consume them are not blocked by every change you make.
Legacy modernisation
Incremental replacement of systems that have become risky to touch, usually by strangling the old system a piece at a time rather than by a single rewrite.
MVP and product discovery
Getting a first version into real users' hands quickly, built so that success does not force a rewrite six months later.
Quality and test automation
Automated test suites at the levels that pay for themselves, wired into CI so that a failing build actually stops a release.
Product design and UX
Interface and interaction design grounded in how the work is really done, including accessibility as a requirement rather than an afterthought.
Deliverables
What you end up holding
Every item here is yours, in your systems, in a form your team can use without us.
- Written scope with acceptance criteria per milestone
- Working software demonstrated every two weeks
- Source code in your repository, from the first commit
- Automated test suite running in CI
- API documentation and data model reference
- Deployment and operations runbook
- Architecture decision records explaining why, not just what
Tooling
Technologies we work in
- TypeScript
- React
- Next.js
- Node.js
- Python
- Django
- Java
- Spring Boot
- React Native
- Flutter
- PostgreSQL
- MySQL
- Redis
- GraphQL
- Playwright
Listed as capabilities rather than partnerships or endorsements. All product names are the trademarks of their respective owners. We choose tools per engagement and will explain the trade-off behind each choice.
FAQ
Software Engineering, answered directly
Should we rebuild our existing system or improve it?
Usually improve it, in place, in stages. Full rewrites are expensive, take longer than estimated, and freeze the business while they run. We will recommend a rewrite when the existing system genuinely cannot carry the next stage of the business — and we will say so directly if that is what we find.
Can you work alongside our in-house developers?
Yes. A good share of our work is mixed teams. We agree code ownership, review practices and working hours at the start so that the arrangement adds capacity rather than friction.
How do you keep a fixed-scope project from drifting?
Scope and acceptance criteria are written down before work starts, and demonstrated every two weeks. When you want a change, we price it and you decide. Nothing changes silently, and nothing is invoiced that you did not approve.
Tell us what is not working
A first conversation costs nothing and commits you to nothing. Describe the problem in your own words and we will tell you honestly whether we are the right people for it.