Systems people depend on
We design, build and run production software for organisations that cannot afford it to fail.
What we build
AI-native product engineering
Language-model features that hold up in production: typed results, grounded answers, and a log of every call.
Cloud and serverless platforms on AWS
Serverless platforms designed around the limits AWS actually has, not the ones a tutorial assumes.
Real-time and event-driven systems
Event pipelines and live interfaces that stay correct when volume climbs and a consumer falls behind.
Offline-first and mobile
Field applications that work with no signal and reconcile afterwards without losing anyone’s work.
Web platform engineering
Fast, accessible, internationalised web applications — and the state and data layers underneath them.
Regulated and assurance-grade software
Records a third party will accept: tamper-evident, amendable without rewriting history, verifiable from outside.
Technologies we work with
- LLM
- RAG
- MCP
- Vector search
- Structured output
- AWS
- Lambda
- DynamoDB
- S3
- CloudFront
- SES
- EventBridge
- Kubernetes
- Terraform
- Kafka
- WebSockets
- RxJS
- Avro
- Java
- Spring Boot
- Reactive streams
- React Native
- Expo
- Service workers
- IndexedDB
- SQLite
- React
- Next.js
- TypeScript
- Tailwind CSS
- Node.js
- GraphQL
- Redux Toolkit
- Zustand
- SWR
- Core Web Vitals
- WCAG
- GDPR
- UK data residency
- Audit trails
- Cryptographic integrity
How to Integrate AI into User Interfaces: A Comprehensive Guide
A worked guide to putting an AI feature into a Next.js interface, from choosing the model to streaming the response.
What can AI do for Small Businesses?
We explain how small businesses can utilise AI within their time and budget.
How does useState work?
A short tutorial on how useState works and key pitfalls of useState.
How we work
We are a small London and Oxfordshire team that designs, builds and runs production systems — usually as the engineering capability a client does not have in-house, and often for years rather than for the length of a project. We take responsibility for what happens after launch, which is the part that decides whether the software was worth building.
That work spans six areas: language-model features built for production, serverless platforms on AWS, real-time and event-driven pipelines, offline-first field applications, web platforms measured on Core Web Vitals and WCAG, and assurance-grade systems whose records a third party can verify. Most of what we build needs several of them at once. AI appears where it earns its place — constrained output, grounded answers, evaluation before release — and not as a chat box bolted onto a product.
The standards we apply to client work are the ones we hold ourselves to: coverage thresholds enforced in CI, end-to-end suites that run across a real device matrix, observability wired before launch rather than after the first incident, and one concern per change so any release can be read, reviewed and reverted on its own. The largest codebase we maintain carries over 11,000 unit tests behind an 80% coverage gate; nothing merges below it.

