Technology

The stack we ship on.

Opinionated, boring, modern. We deviate only when a project genuinely needs it. Here's every layer we touch, and why.

9
FOUNDATION MODELS
31
ORCHESTRATION FRAMEWORKS
100+
INTEGRATIONS
4
CLOUDS
01LLMS

Foundation Models

We pick the model per step, not per project. Claude for reasoning and long context. GPT-4o for tool use and realtime voice. Gemini for cost + multimodal. Llama + Mistral for on-prem and fine-tuned workloads.

Nine models. One router.

Claude 3.5 Sonnet
Anthropic · default reasoning
Claude 3.5 Haiku
Anthropic · fast, cheap
GPT-4o
OpenAI · tool-use, realtime
GPT-4o mini
OpenAI · batch, triage
Gemini 2.0
Google · multimodal
Llama 3.3
Meta · self-hosted
Mistral Large
Mistral · on-prem
Nova Pro
AWS Bedrock
Command R+
Cohere · rerank
02AGENTS & WORKFLOWS

Orchestration

For simple chains, LangChain. For stateful multi-step agents, LangGraph. For long-running durable workflows, Temporal. For everything in between, our own thin orchestration layer — because the frameworks all get something wrong at scale.

LangGraph, Temporal, and our own runtime.

LangGraph
Stateful agent graphs
LangChain
Simple chains + tool use
Temporal
Durable workflows
n8n
No-code integrations
Inngest
Event-driven jobs
Our runtime
Custom per engagement
03RAG STACK

Retrieval & Data

pgvector gets 90% of projects over the line — same DB, same backups, same auth. We move to Pinecone or Weaviate only when shard-level tenant isolation or >10M-doc latency forces it.

Postgres until it hurts. Then Pinecone.

Postgres + pgvector
Primary datastore + vectors
Pinecone
Serverless vector at scale
Elasticsearch
BM25 + hybrid search
LlamaIndex
Ingestion + parsing
Cohere Rerank
Cross-encoder precision
Redis
Cache + queue
ClickHouse
Analytics + eval stats
S3 / GCS
Blob + document store
04CLOUD + CI

Infra & DevOps

Fly.io for anything that wants to live close to users. AWS for enterprise compliance. GCP for data warehouses. Vercel for public-facing frontends. Terraform for anything we want to recreate.

Sane defaults across four clouds.

AWS
ECS, Lambda, Bedrock, S3
GCP
BigQuery, Vertex, Cloud Run
Fly.io
Global app deploys
Vercel
Next.js frontends
Terraform
IaC for persistence
GitHub Actions
CI + preview deploys
Cloudflare
CDN + WAF + Tunnels
Datadog
APM + logs + traces
05PRODUCT UI

Frontend

Next.js App Router, TypeScript, TanStack Query, Tailwind, shadcn/ui, Zod validation shared with the backend. The goal: delete a column in Postgres, have the TypeScript compiler yell at you from the frontend.

Type-safe from DB to pixel.

Next.js 15
React framework, App Router
TypeScript
End-to-end types
TanStack Query
Server state
Tailwind CSS
Utility styling
shadcn/ui
Headless components
Framer Motion
Animation
Zod
Shared validation
06EVAL STACK

Observability & Evals

We write the rubric before the agent. LangSmith and Braintrust for offline evals. Helicone for live cost and latency. Custom judge models for anything with subjective outputs.

Evals first. Always.

LangSmith
Traces + eval runs
Braintrust
Eval experiments
Helicone
Live cost + latency
OpenTelemetry
Distributed traces
Sentry
Errors + performance
Custom judges
Subjective evals
SOC 2 Type II
In progress
ISO 27001
Certified
AWS Partner
Advanced
GDPR
Compliant
HIPAA
BAA ready

Want to dig into our stack?

We publish architecture memos for most projects. Book a call and we'll share the relevant ones.