Software services for messy, useful, real-world work.
We help with new builds, prototypes, integrations, technical decisions and older systems that need a way forward. Most engagements start with a conversation.
Custom app development
Business-critical web apps, portals, internal tools and SaaS products. We've been building this kind of software for more than two decades — from database-backed back-office systems to modern web applications used by real teams every day.
We're not a body shop. We think about the problem before we pick the technology, then build something your team can maintain and extend without calling us every week.
- Business-critical web apps, portals and SaaS products
- Internal tools and database-backed back-office systems
- Data pipelines, warehousing and large-dataset processing
- Custom ML model training and integration, where the data justifies it
- Full-stack development with modern JavaScript and TypeScript frameworks
- Deployment, infrastructure and ongoing support
Rapid prototyping
Turn an idea into something people can see, test and react to. Clickable mockups, mobile app prototypes, thin working slices, or small internal tools that prove whether the bigger build is worth doing.
Most of our best long-term work started as a prototype. It's the honest way to answer "should we build this?" without spending six months finding out the answer is no.
- Clickable UI prototypes
- Working proof-of-concept builds
- Technical feasibility spikes
- AI-assisted delivery for faster iteration
Integration & automation
APIs, webhooks, databases, legacy applications, MCP servers and AI-assisted workflows. We connect the systems you already have and automate the repetitive work between them — with people in the loop for verification, approval and judgement.
The spreadsheet sitting next to your app isn't a spreadsheet problem — it's an integration gap. We close those gaps with reliable, maintainable tooling.
- REST, MCP and GraphQL API integrations
- Webhook and event-driven automation
- Data sync and ETL pipelines
- Reporting and data export tooling
Technical consulting
Architecture review, build-vs-buy decisions, code review, vendor assessment and delivery planning. Useful if you have a technical decision to make and no one senior to sense-check it with.
We're not the right fit if you need a fixed-bid proposal in 48 hours. We are the right fit if you want someone who's done this before to look at what you're building and give you a straight answer.
- Architecture and code review
- Build-vs-buy analysis
- Technology selection and vendor review
- Delivery planning and risk assessment
- Second opinion on proposals and estimates
Software modernisation
Older systems that are hard to change, expensive to maintain, or holding the business back. The problem usually isn't the age — it's the unknown: undocumented logic, missing tests, accumulated shortcuts, staff who've left.
We diagnose what you actually have, then choose the right path: stabilise, refactor, rebuild or wrap. Sometimes all four, in that order.
- Codebase assessment and mapping
- Stabilisation and dependency cleanup
- Refactor-in-place for sustainable systems
- Full rebuild for systems past saving
- Wrapping legacy systems behind modern APIs
- Migration planning and execution
AI accelerates the work. It does not replace judgement.
We use AI-assisted development tools to speed up research, documentation, prototyping, testing and implementation. Where AI genuinely helps us move faster and build better, we use it.
We do not hand your business logic to an agent and hope for the best. Senior engineers stay accountable for every decision, every line of code that ships to production.
Not sure what you need? Start with a conversation.
Tell us what you're trying to build, fix or connect. We'll tell you honestly if we can help.