Home > Technology
Stack

Technology Stack & Engineering Practices

This page exists so you can check what we actually build with before you talk to us: frontend, backend, mobile, data, AI models, automation and cloud — and the rules we use to choose between them.

How we choose a stack

Technology choices follow from constraints, not from fashion. The order we work in:

  1. Compliance and data residency first. If patient data cannot leave a jurisdiction or a network, that decision eliminates most of the stack before any other consideration.
  2. The integration surface you already have. A team with SQL Server, Active Directory and a legacy ERP gets different recommendations from a greenfield startup, even for the same business problem.
  3. Team skills and total cost of ownership. A stack nobody can maintain locally is expensive regardless of its benchmarks.
  4. New technology only when it removes a specific constraint we cannot solve with what is already in place.

The stack we build with

🌐Frontend

React, Next.js, TypeScript. Server-rendered where SEO or first paint matters, client-rendered where the product is an app.

⚙️Backend

Node.js for real-time and API-heavy services, Python for data, ML and document pipelines. Express and FastAPI where they fit the team.

📱Mobile

React Native and Flutter for cross-platform delivery, with native modules where a platform capability demands it.

🗃️Data

PostgreSQL as the default relational store, MongoDB for document-shaped data, and vector indexes for retrieval over embeddings.

🤖AI models

OpenAI, Anthropic and Google Gemini for hosted inference; open-source LLMs (Llama family) self-hosted where data cannot leave your environment.

🔗AI engineering

Retrieval-augmented generation, vector search, agent orchestration, tool and function calling, MCP where it makes an agent genuinely more capable, and evaluation harnesses.

🔄Automation

n8n for self-hosted workflow automation, plus REST APIs, webhooks and scheduled jobs. See the n8n vs Zapier comparison.

☁️Cloud & DevOps

AWS, Azure and Google Cloud; containers, infrastructure-as-code, CI/CD pipelines and environment parity from development to production.

Engineering practices that do not change with the stack

What this looks like in practice

Frequently asked questions

Frontend: React, Next.js and TypeScript. Backend: Node.js and Python. Mobile: React Native and Flutter. Data: PostgreSQL and MongoDB, with vector stores for retrieval. AI: OpenAI, Anthropic and Google Gemini for hosted models, and open-source LLMs where data must stay inside your network. Automation: n8n, REST APIs and webhooks. Cloud: AWS, Azure and Google Cloud.
No. We list the stack we build with in production. If a technology is not on this page and not required by your project, we will say we have not shipped it rather than learn on your budget.
From the constraint backwards: data residency and compliance first, then the integration surface you already have, then team skills and total cost of ownership. New technology is chosen only when it removes a specific constraint we cannot solve with the current stack.
Models sit behind an interface in our architecture, so providers are swappable. We benchmark candidate models on your own evaluation set for accuracy, latency and cost, then keep the model layer replaceable so a price or capability change is a configuration decision rather than a rewrite.
Ask about your stack →