Technologies
The tools we actually run in production
This is not a list of everything we have heard of. Each of these is something we build with, deploy, and support — chosen for what the system in front of us has to do.
The stack
Grouped by what it does
One line per group on how it is actually used, so you can tell what we would reach for and why.
Frontend
Everything a customer or staff member touches — marketing sites, dashboards, and mobile apps — is built here, with performance and accessibility treated as requirements rather than polish.
- React
- Next.js
- TypeScript
- Tailwind CSS
- Flutter
Backend
Business logic, APIs, and integrations. We choose the runtime to fit the problem: Node.js and NestJS for most web systems, Java and Spring Boot where an enterprise environment expects it, Python where the work is data-heavy.
- Node.js
- NestJS
- Spring Boot
- Java
- Python
Data
Relational databases by default, because most business data has relationships worth enforcing. Redis for caching and queues, and document stores only where the shape of the data genuinely justifies them.
- PostgreSQL
- MySQL
- MongoDB
- Redis
- Prisma
Cloud & DevOps
Deployed to accounts you own, with containerised builds and automated pipelines so a release is a routine event rather than a risk. We size infrastructure to your actual load, not to a template.
- AWS
- Azure
- Cloudflare
- Docker
- GitHub Actions
Integration
How your systems talk to each other and to third parties — payment gateways, SMS providers, accounting packages, and government portals — using documented, versioned interfaces.
- REST
- GraphQL
- WebSockets
- Webhooks
- OpenAPI
How we choose
Boring where it matters
The technology that carries your business should be dull, well-documented, and widely known. That is not conservatism for its own sake — it is so that hiring someone to maintain the system in three years is straightforward rather than a search for the two people who know a niche framework.
So we default to established tools with long support horizons and large communities, and we reserve newer choices for places where they earn their keep and are easy to replace.
We are also happy to work inside a stack you already run. If your team knows Laravel or .NET and you have people maintaining it, adding a system in a language nobody there reads would be a disservice, however much we might enjoy it.
Next step
Not sure what your project needs?
That is a normal place to start. Tell us the problem and we will tell you what it would take, in language that does not require a technical background.