Boring on purpose
For new work we choose mature, widely adopted technology. Novelty is a cost your project pays for years.
Technologies
Rescue work means meeting a project where it already is, so we stay current across the mainstream stacks. For new builds we favour proven, well-supported tools that you will be able to hire for in five years.
For new work we choose mature, widely adopted technology. Novelty is a cost your project pays for years.
The right stack is one your current or future developers know. We ask who will maintain it before we recommend anything.
PHP, WordPress and ten-year-old Java run real businesses. We will work on them without a lecture about rewriting.
Technology
Our default for complex, stateful interfaces.
4 examplesReact with server rendering — fast first loads and good SEO.
3 examplesApproachable and productive; common in Laravel projects.
2 examplesStructured and opinionated; common in enterprise teams.
1 exampleTyped JavaScript. We use it on nearly every front end and Node back end.
6 examplesTechnology
One language across the stack; strong for APIs and real-time features.
5 examplesReadable, huge ecosystem; our choice for data and AI work.
6 examplesBatteries-included Python framework — ideal for admin-heavy business apps.
2 examplesModern, fast Python APIs with automatic documentation.
2 examplesStill runs a large share of the web. We maintain it and modernize it.
3 examplesThe productive, well-structured way to write PHP today.
2 examplesExceptionally quick for getting a SaaS product to market.
1 exampleLong-lived enterprise systems, usually with Spring Boot.
1 exampleThe standard for production Java services.
1 exampleMicrosoft's stack — including upgrades from .NET Framework to modern .NET.
1 exampleSmall, fast, dependable services and command-line tools.
1 exampleTechnology
One codebase for iOS and Android, sharing skills with a React web team.
1 exampleCross-platform with pixel-level control over the interface.
1 exampleNative iOS when you need the platform's full capabilities.
1 exampleNative Android, including Bluetooth and background work.
1 exampleHosted auth, database and push — quick to start, and easy to leave insecure.
1 exampleTechnology
Hosted commerce, custom themes, apps and checkout extensions.
2 examplesIncluding WooCommerce — builds, clean-ups and performance work.
1 examplePayments, subscriptions, invoicing and marketplace payouts.
4 examplesTechnology
Our default database: reliable, capable and free.
11 examplesWidespread in PHP and WordPress systems.
3 examplesDocument storage; we also untangle it when it was the wrong choice.
1 exampleCaching, queues and rate limiting.
1 exampleThe database behind most .NET line-of-business systems.
1 exampleServerless analytics warehouse on Google Cloud.
1 exampleVersion-controlled, tested SQL transformations.
1 exampleTechnology
Claude and other hosted models, used with evaluation and cost controls.
2 examplesSemantic search inside the PostgreSQL you already run.
1 exampleTechnology
The broadest cloud platform, and a safe default for most products.
6 examplesThe natural home for .NET and Microsoft-centred organizations.
1 exampleStrong for data workloads and managed containers.
Reproducible builds and environments.
4 examplesWhen you genuinely need orchestration — and help deciding if you do.
2 examplesInfrastructure described in code, reviewed like code.
1 exampleAutomated tests and deployments on every change.
2 examplesThe list is what we are asked for most, not the limit of what we do. Ask — we will give you a straight answer about our depth in it.