The stack behind our client projects_
>> 61 technologies, each rated by how often we use it and linked to the projects where it shipped. Senior engineers pick from this list, and the outer ring shows what we help teams move off.
Tech radar
The 61 technologies we build with, how much we trust each one, and the client projects behind 54 of them.
61 technologies match
Tap a logo to see where we used it
>> Every technology, project by project
The same radar as a list: why we pick each tool and where we used it for clients. Project names open the case study. Technology names open our expertise page where we have one.
Product & frontend
What your users touch: web, mobile, 3D and the design system behind it.
Default
The frontend most of our products run on. Any React developer you hire later can pick up the codebase on day one.
Default
One codebase for iOS and Android, shared with your web team's React skills. The Grassroots coaching app went from idea to launch in five weeks.
Default
Builds, store releases and over-the-air updates for React Native without a native team on every release.
Figma
Default
Where discovery turns into screens you can click through before anyone writes code.
Default
Our default when a product needs server rendering, SEO or an installable PWA from one codebase.
TypeScript
Default
Typed code end to end, so AI coding agents and new engineers break fewer things when they change it.
Vite
Default
Fast local builds for single-page apps. Shorter feedback loops for engineers and for agents.
Tailwind CSS
Default
Design tokens in code, so screens stay consistent as the product grows and more people touch it.
design systems and product UI
Open source: saas-boilerplate
D3
Proven
Charts and maps built for your data instead of bent from a template.
Three.js
Proven
Real-time 3D in the browser, no plugin. We used it to put a full aircraft livery on a microsite in three weeks.
Vue
Proven
We pick it up when your team or existing product already runs on it.
WebGL
Proven
Custom shaders when off-the-shelf 3D is too heavy or too generic.
GSAP
Proven
Timeline animation that stays smooth on mid-range phones.
Progressive web apps
Proven
An installable, offline-capable app without app store review. A good first release when speed matters more than native features.
Storybook
Proven
Every component documented and testable on its own, so design and engineering review the same thing.
Open source: saas-boilerplate, ALPack
AngularJS
Maintain and migrate
End of life since 2022. We keep AngularJS apps running and move them to React screen by screen, without a freeze on new features.
Gatsby
Maintain and migrate
Sites built on it still work, but we now build static and content sites on Next.js.
Backend & data
APIs, databases, payments and the jobs that run in the background.
Default
Auth, admin and permissions come built in, so the budget goes to features that set you apart.
Default
The language of most AI tooling, so your product backend and your AI features can share one team.
Open source: saas-boilerplate, onetimepass
Default
One language across frontend and backend. A good fit for real-time features and integrations.
Stripe
Default
Subscriptions, marketplace payouts and invoicing without building payments from scratch.
Open source: saas-boilerplate
GraphQL
Default
One typed API that web, mobile and AI agents can all query without new endpoints for every screen.
Open source: saas-boilerplate, ALPack
PostgreSQL
Default
Our default database. Relational, boring in the good way, and it handles vectors when you add AI search.
Redis
Default
Caching and queues that keep pages fast when traffic jumps.
caching, sessions, rate limits and real-time channels
Open source: saas-boilerplate
Shopify
Proven
Custom storefronts and integrations on top of Shopify's checkout.
Celery
Proven
Background tasks for Django apps: emails, reports and anything that shouldn't block a request.
Open source: saas-boilerplate
RevenueCat
Proven
In-app subscriptions and paywalls across both app stores, with revenue data from day one.
WebRTC and Twilio
Proven
Live video and calls inside your product instead of sending users to another tool.
Contentful
Proven
A headless CMS your marketing team can edit without a deploy.
Open source: saas-boilerplate
Neon
Proven
Serverless Postgres that scales to zero, so an early product doesn't pay for an idle database.
Temporal
Proven
Long-running jobs that survive crashes and deploys. We moved Teamdeck's queues and cron jobs onto it.
RabbitMQ
Maintain and migrate
Still running in older estates. On new work and in migrations we move queues to Temporal or managed AWS services.
PHP
Maintain and migrate
We maintain PHP systems and plugins, and we move legacy PHP backends to Python or Node.js when the business case is there.
Cloud & delivery
Where it runs, how it ships and how you find out when something breaks.
AWS
Default
Our default cloud. Your account, your bill, your data. We hand over infrastructure as code, not a console full of clicks.
Firebase
Default
Auth, push and data for mobile apps in days rather than weeks. Right for an MVP, and we know when to move off it.
Docker
Default
The same container runs on a laptop, in CI and in production.
Open source: saas-boilerplate, ALPack
GitHub Actions
Default
CI gates that every change has to pass, human or agent. Build once, promote the same artifact to production.
Playwright
Default
End-to-end tests that click through the real app, and the test-writing step in our agent harness plugins.
Vitest
Default
Unit tests fast enough to run on every change in the delivery loop.
AWS Lambda and Serverless
Proven
Pay per request for spiky or background workloads.
Open source: saas-boilerplate
Datadog
Proven
Metrics, traces and logs in one place when a system gets big enough to need them.
Kubernetes and Google Cloud
Proven
For products with heavy, uneven traffic. Most early products don't need it, and we'll say so.
Pulumi
Proven
Infrastructure written in TypeScript, reviewed like any other pull request.
Terraform
Proven
We work in existing Terraform estates, and we migrate them when a team wants infrastructure in its main language.
Vercel
Proven
Preview deployments for every pull request. Good for Next.js products that need to move fast.
AI & agents
The models, retrieval and agent tooling in client products, and the harness we use to build software with AI coding agents.
Default
The setup we install so AI coding agents ship reviewable work: context packs, written plans, CI gates and verification. nini.bot shipped through it in 11 days.
Default
GPT models where harder reasoning pays for the extra latency. We pick the model per task, not per vendor.
Default
Claude Code runs the agent jobs in our open-source tools and SDLC plugins. Claude models answer fast where latency matters.
Proven
Useful glue for prototypes and custom chains. We keep it thin so it doesn't own your architecture.
Proven
Several specialised agents splitting one job, each one checkable on its own.
Proven
Answers grounded in your own documents, with sources, instead of whatever the model remembers.
Proven
Speech in, speech out, fast enough to hold a conversation. Our real-time avatar reached about 1.5 seconds of perceived latency.
Proven
A standard way to let AI assistants use your product's API, with your permissions.
MCP servers over product APIs
Open source: saas-boilerplate
Google Gemini
Exploring
We test it on long-context and multimodal tasks next to Claude and GPT.
internal tools and model comparisons
Open source: curstat
Exploring
Graph-based control for agents that need branches, retries and human approval steps.
stateful agent workflows
Exploring
A lighter option for tool-using agents when a full graph framework is too much.
tool-using agents
Exploring
Speech-to-speech in one model call, to cut voice latency further.
low-latency voice agents