Our technology stack, and why the list is short
We would rather be genuinely deep in a stack suited to high-throughput, long-lived systems than shallow across everything. Every case study on this site runs on the technologies below, and the two largest clear a billion transactions an hour and 300 million queries a day.
Java and Spring
Java 17 to 25
New work on Java 21 or 25, the current long-term-support releases. Virtual threads and generational garbage collection changed what a JVM does under load; we measure the difference on every modernization sprint.
Spring Boot
Most of what we build sits on Spring: web services, batch, security, data. Spring Boot 4 requires Java 17 or later, which is the trigger behind most of the modernization work we do.
Spring AI
Model calls, retrieval and agent tooling as Spring components, with the dependency injection, security and observability your system already has.
Kotlin on the JVM
Where a client already uses it. We do not push it, and we do not refuse it.
Data, search and streaming
Apache Kafka
Event streaming where ordering, delivery guarantees and replay matter rather than being diagram labels. Topic and partition design is the decision that is expensive to change later; we make it deliberately. If you have one producer, one consumer and no replay requirement, a queue is simpler and we will say so.
Hazelcast
In-memory data grids for systems that cannot afford a database round trip in the request path. Distributed caching, compute next to the data, and cluster design (partitioning, backup counts, failure behaviour) which is where grid projects usually go wrong.
Oracle Coherence
For enterprises already committed to Oracle: cache topologies, near-cache strategies, upgrades without discovering serialization changes in production. Starting from nothing today, an open-source grid is easier to hire for.
Apache Ignite
The third grid we run, chosen when SQL over in-memory data matters more than the Hazelcast programming model.
PostgreSQL
The default relational store. Most performance problems that arrive labelled as a caching problem turn out to be an unindexed query, which is why the database is measured before a grid is proposed.
Elasticsearch
Catalogue and document search where relevance and vocabulary matter more than raw speed: indexing, enrichment and synonyms designed around your data.
Platforms, delivery and quality
AWS and Azure
Both, with Google Cloud and dedicated hosting where a client already lives there. Kubernetes where the system is large enough to justify it, plain machines where it is not.
Pipelines, observability and tooling
Reproducible builds, dependency scanning, structured logs, metrics and traces wired into the JVM properly: garbage collection, thread and connection pool metrics from day one. AI coding tools run on one sanctioned toolchain, inside data boundaries the client approves.
Testing
JUnit and Cucumber for behaviour, JMeter and custom harnesses for load. Every performance claim on this site was measured with a harness the client kept.
Openkoda
The insurance policy administration system our sister company builds. We implement it, integrate it and write the modules around it.
Salesforce and MuleSoft, as proof rather than as an offer
We spent years building on Salesforce and MuleSoft: RAML-driven data stores, machine learning pipelines between Salesforce and AWS, a MuleSoft plugin, an NGO's Salesforce implementation, a healthcare IoT SaaS on the Salesforce platform. That work is consolidated into one case study and it is why our integration layers are designed by people who have run a commercial integration platform in anger.
We no longer sell Salesforce or MuleSoft development as a standalone service. When an integration problem lands inside a Java system, the same engineers handle it with MuleSoft, Apache Camel or plain Spring Integration, whichever your systems already use.
The stack in production
- 1,000,000,000
- financial transactions an hourJava · in-memory grid · cloud deployed
- 300,000,000
- travel queries a dayJava · Kafka · in-memory caching · containerised
- Acquired
- Recostream, sold to GetResponseJava and machine learning recommendation engine
Stratoflow successfully completed numerous web-based projects. They can handle technical challenges very well. The team has exceptionally talented developers with a strong grasp of business objectives and proactively provided solutions.
Arnd Jan PrauseChief Operating Officer, musQueteer
Engineering notes on the stack
Book a scoping call
Thirty minutes with an architect, not a salesperson. You leave with a written view of scope, price model and whether we are the right team for it.