What we build with.
Tools we use professionally — not a wall of logos for things we read about once. We default to boring and well-supported, and reserve novelty for where it earns its keep.
- Custom software
- Web apps
- Mobile
- AI & automation
- Cloud & DevOps
- Integrations
- Product design
- QA & security
- React
- TypeScript
- Node.js
- PostgreSQL
- Python
- Docker
- Redis
- Go
What we deliver
- Custom software
- Web apps
- Mobile
- AI & automation
- Cloud & DevOps
- Integrations
- Product design
- QA & security
What we build with
- React
- TypeScript
- Node.js
- PostgreSQL
- Python
- Docker
- Redis
- Go
By discipline
Front end
Interfaces, design systems and everything the user actually touches.
React
TypeScript
Vite
Next.js
Tailwind CSS
Vue
Back end
Application logic, APIs and the services behind them.
Node.js
Go
Python
Django
Laravel
PHP
Mobile
Android and iOS, cross-platform where it makes sense and native where it does not.
React Native
Kotlin
Swift
Flutter
Data
Storage, caching and search — chosen for the access pattern, not the trend.
PostgreSQL
MySQL
Redis
MongoDB
SQLite
Elasticsearch
Infrastructure
How it gets deployed, observed and recovered.
Docker
Kubernetes
Terraform
Linux
GitHub Actions
Cloud providers
AI and data
Applied where it removes real work, with an evaluation harness behind it.
Python
PyTorch
Hugging Face
Model APIs
Vector stores
Quality
Testing, accessibility and security checks that run on every change.
Vitest
Playwright
axe
k6
OWASP ZAP
How we choose
Who maintains this in three years?
That question decides most of our stack choices — not what is fastest in a benchmark. If a technology would leave you dependent on us to keep it running, it is the wrong technology.