Skip to main content

TypeScript Is the Spine of the Company

Our tech stack is a company-wide standard — not a per-project decision. A consistent stack reduces hiring friction, shortens ramp-up time, and makes code reuse possible across every product type we build.

Primary Language

TypeScript

Primary Database

PostgreSQL

Backend Style

API-first, modular

Frontend Pattern

React-based, component-driven

Deployment

Cloud-native, observable

Docs

Notion-first, diagram-heavy

Recommended Stack by Product Type

We only deviate from these defaults when the architecture clearly benefits from another choice — and that deviation requires documentation.

Static Website

Brochure sites, landing pages, marketing pages, docs, SEO-first pages.

Primary: Astro
LayerChoice
FrameworkAstro
StylingTailwindCSS
ContentMDX / CMS / Notion-driven
DeploymentCloudflare Pages / Vercel
TestingPlaywright / Vitest

Web Application

SaaS platforms, dashboards, ERPs, portals, internal systems, admin tools.

Primary: Next.js + NestJS
LayerChoice
FrontendNext.js (App Router)
UIReact + TypeScript
StylingTailwindCSS
APINestJS
ORMPrisma
DatabasePostgreSQL
Cache / QueueRedis + BullMQ
StateZustand + TanStack Query
AuthAuth.js / Better Auth
EmailResend + React Email
DeploymentVercel / AWS
ObservabilitySentry

Mobile App

iOS and Android companion apps, customer-facing apps, field apps, operations tools.

Primary: Expo (React Native)
LayerChoice
FrameworkReact Native + Expo
RoutingExpo Router
StylingNativeWind
StateZustand / React Query
BackendNestJS API (shared)

Desktop App

Internal desktop tools, companion apps, offline-first utilities, secure local workflows.

Primary: Tauri (Electron fallback)
LayerChoice
UIReact + TypeScript
Primary shellTauri
Fallback shellElectron
Local DBSQLite
PackagingTauri bundler / Electron packager

Backend / API / Automation

APIs, integrations, workflows, scheduled jobs, business logic, internal services.

Primary: NestJS + TypeScript
LayerChoice
RuntimeNode.js + TypeScript
FrameworkNestJS
ValidationZod
JobsBullMQ + Redis
Integration styleREST + Webhooks
LoggingStructured JSON logging
SecurityOWASP review + audits

Data & Analytics

Reporting, BI, dashboards, operational analytics, ETL, data cleanup, exports.

Primary: PostgreSQL + Python
LayerChoice
DatabasePostgreSQL
ETL / batchPython
Analytics layerSQL models / views
BIDashboard tools
AutomationScheduled jobs

Infrastructure & Delivery

Standard tooling across all projects. Every deployment goes through the same pipeline: lint → test → build → security checks → deploy.

ContainersDocker
CI/CDGitHub Actions
IaCTerraform
MonitoringSentry
CloudAWS / GCP / Azure / Vercel
Repo hygieneDependabot, linting, audits

Delivery Pipeline

Pull request
Lint
Test
Build
Security checks
Deploy

Security-First

OWASP review on every production system. Secrets via env vars. HTTPS + HSTS enforced.

Data Privacy

PII handled with highest standards of confidentiality. Data flow diagrams required for all PII systems.

99.9% SLA

Tiered support agreements and uptime SLAs for critical systems. Incident runbooks required.

What We Avoid by Default

Exceptions require documentation and technical lead approval. A new choice that fits the stack is always preferred over a novel one.

TechnologyWhy We Avoid ItUse Instead
MongoDB
Poor fit for relational systems
PostgreSQL
Flutter
Separate ecosystem and language
Expo (React Native)
GraphQL by default
Added complexity without clear benefit
REST + Zod
Go (too early)
More backend language overhead at our scale
TypeScript / NestJS
console.log in production
Poor observability
Structured JSON logging

Quick Decision Matrix

Need content-first siteAstro
Need product app with backendNext.js + NestJS
Need iOS and Android appExpo (React Native)
Need desktop with small footprintTauri
Need desktop quicklyElectron
Need APIs / integrationsNestJS
Need reporting / ETLPostgreSQL + Python

Request our Technical Briefing

A deep dive into our engineering standards and internal SOPs.