Technologies we use

The stacks behind the forty-one projects in our case studies. We pick per project, and we keep working on a system long after launch — so this list is as much about what we can maintain as what we can start.

How we choose

Two questions decide a stack. What does the problem actually need, and who will be running this in three years? A technology that solves the first and fails the second is a liability, and it is the reason we are conservative about anything whose hiring pool is thin or whose release cadence breaks things.

When a client already has a system, we work in what they have rather than arguing for a rewrite. Several of the projects below are platforms we inherited and have run since — the stack was not our choice, and that is not a problem.

Frontend

The interface layer. React is what most of our recent work is built on; the rest reflect what a client already had when we picked the project up.

Backend

Where most of our depth is. Nineteen of the forty-one case studies are Java, fifteen of those on Spring Boot, spanning Java 8 through Java 21.

Mobile

Cross-platform where a shared codebase is the point, native where the device integration is.

Databases

Chosen for the shape of the data, not habit — relational for transactions, document for records whose shape varies by source, columnar for analytics.

Cloud and infrastructure

AWS is where most of our deployments run. Containers and orchestration where the workload justifies them, which is less often than it is proposed.

Beyond the logos

The interesting parts of a system are rarely on a logo wall. Across the case studies that also means Kafka and Amazon SQS for event streaming, Spring Batch and Airflow for scheduled work, JBoss Drools and the KIE Server for business rules, ClickHouse for analytical queries, Neo4J where the data is genuinely a graph, and a long tail of integrations — Twilio, Rapyd, Salesforce, SumSub, KillBill, Ethoca, UPS and Shippo among them.

Tell us what you are building

Whether it is a system to build, one to replace, or one that needs rescuing — describe it and we will come back within one working day with who would work on it and how we would start.

Start a conversation See what we have built