Stack, practices and security
Proven tools, chosen for your problem.
We're not tied to one framework. We pick what fits your users, your team and your budget, and we explain why in plain English.
- tools in production
- 40+
- products shipped
- 120+
- years on our core stack
- 9
01How we choose
Four questions before we pick a tool.
New frameworks are fun. Your product has to run for years. These questions keep us honest.
-
01
Does it fit the problem?
We start from your users, data and scale, then choose tools. Not the other way round.
-
02
Will it still be here in five years?
Mature, well-supported technology with long-term releases, so you're not rewriting soon.
-
03
Can you hire for it?
Popular stacks mean you can grow an in-house team around the code when you're ready.
-
04
What does it really cost?
We count hosting, licences and maintenance, not only the time it takes to build.
02Our stack
The tools we ship with.
Forty tools we run in production. Pick a category, then drag, swipe or use the arrows to browse.
-
Frontend
React
Interactive web apps and dashboards
In production9 yrs
-
Frontend
Next.js
Fast, search-friendly web products
In production6 yrs
-
Frontend
TypeScript
Type-safe code, front to back
In production7 yrs
-
Frontend
Vue
Lightweight apps and admin panels
In production7 yrs
-
Frontend
Nuxt
Server-rendered Vue sites
In production5 yrs
-
Frontend
Tailwind CSS
Design systems that ship fast
In production5 yrs
-
Frontend
Astro
Content and marketing sites
In production3 yrs
-
Backend
Node.js
APIs, real-time features and workers
In production9 yrs
-
Backend
NestJS
Structured, testable backend services
In production5 yrs
-
Backend
Laravel
Business apps and admin-heavy systems
In production9 yrs
-
Backend
Django
Data-heavy apps and internal tools
In production6 yrs
-
Backend
Go
High-throughput services
In production4 yrs
-
Backend
GraphQL
Flexible APIs for web and mobile
In production6 yrs
-
Backend
PostgreSQL
Our default database
In production9 yrs
-
Backend
Redis
Caching, queues and sessions
In production8 yrs
-
Mobile
Flutter
Cross-platform apps from one codebase
In production6 yrs
-
Mobile
React Native
Mobile apps that share code with React
In production7 yrs
-
Mobile
Swift
Native iOS features and performance
In production6 yrs
-
Mobile
Kotlin
Native Android apps
In production6 yrs
-
Mobile
Firebase
Auth, push and real-time sync
In production7 yrs
-
Cloud & DevOps
AWS
Our main cloud platform
In production9 yrs
-
Cloud & DevOps
Google Cloud
Data and AI workloads
In production5 yrs
-
Cloud & DevOps
Docker
Identical environments everywhere
In production8 yrs
-
Cloud & DevOps
Kubernetes
Scaling larger platforms
In production5 yrs
-
Cloud & DevOps
Terraform
Infrastructure as code
In production5 yrs
-
Cloud & DevOps
GitHub Actions
CI/CD on every commit
In production5 yrs
-
Data & AI
Python
Data pipelines and automation
In production8 yrs
-
Data & AI
PyTorch
Custom machine learning models
In production3 yrs
-
Data & AI
TensorFlow
On-device and cloud ML
In production4 yrs
-
Data & AI
LangChain
AI assistants and document search
In production2 yrs
-
Data & AI
BigQuery
Analytics at scale
In production4 yrs
-
CMS & Commerce
WordPress
Marketing sites your team can edit
In production9 yrs
-
CMS & Commerce
Shopify
Storefronts and headless commerce
In production6 yrs
-
CMS & Commerce
Strapi
Headless CMS for apps
In production4 yrs
-
CMS & Commerce
Sanity
Structured content for big sites
In production3 yrs
-
Marketing
Google Analytics
Analytics and conversion tracking
In production5 yrs
-
Marketing
Google Ads
Search and shopping campaigns
In production8 yrs
-
Marketing
HubSpot
CRM, email and automation
In production6 yrs
-
Marketing
Semrush
Keyword and competitor research
In production6 yrs
-
Marketing
Looker Studio
Live client dashboards
In production5 yrs
Showing all 40 tools
03Engineering practices
Quality is built in, not bolted on.
The habits below run on every project, whatever the size or budget. They're why our code is easy to hand over.
-
Code review on every change
Nothing reaches the main branch until a second senior engineer has read it.
You get
Fewer bugs and shared knowledge
-
Automated testing
Unit, integration and end-to-end tests run on every commit.
You get
Confidence to change things quickly
-
CI/CD pipelines
Every merge is built, tested and deployed automatically, with one-click rollback.
You get
Safe releases, several times a week
-
Monitoring from day one
Logs, metrics, uptime alerts and error tracking are set up before launch, not after.
You get
Problems found before users report them
-
Documentation as we go
Architecture notes, API docs and runbooks are written during the build.
You get
Code your own team can take over
-
Performance budgets
Page speed and Core Web Vitals are checked before every release.
You get
Fast products, even on slow networks
- Average deploy time
- 4 min
- Lighthouse target
- 95+
- Merged without review
- 0
04Security
Security is a habit, not a phase.
We design for least privilege and plan for things going wrong, so a bad day stays small.
Working in a regulated industry?
We'll follow your security policies, sign a data processing agreement and join your audits.
-
OWASP Top 10 reviews
Every release is checked against the most common web risks.
-
Encryption everywhere
Data is encrypted in transit and at rest.
-
Role-based access
People see only what their role allows, with audit logs.
-
Least-privilege cloud access
MFA and scoped keys for every engineer and service.
-
Backups you can restore
Daily backups, and we test the restore, not just the backup.
-
Dependency scanning
Automated alerts when a package we rely on has a known flaw.
-
GDPR-ready processes
Data minimisation, consent and deletion designed in.
-
NDA and IP assignment
Signed before you share any project details.
05Architecture
What a typical SaaS build looks like.
Every project is different, but most of our SaaS platforms start from this shape. It scales from the first customer to the hundred-thousandth.
Clients
Edge
Services
Data
Around it all
Certifications our engineers hold
- AWS Solutions Architect
- Google Cloud Professional
- Google Ads
- HubSpot Marketing
Need a second opinion on your stack?
Book a free 45-minute tech audit call. We'll look at your architecture, code health and hosting costs, then send a short written summary you can keep.
What the audit covers
- Architecture and how far it will scale
- Code quality and test coverage
- Security basics and quick wins
- Hosting and licence costs
- A prioritised list of what to fix first
No obligation. The summary is yours, whoever does the work.