Tech Stack

Tech Stack

Owner: Engineering Last reviewed: 2026-Q2

This summarizes our core technologies and why we use them.

Languages

  • TypeScript (frontend) – type safety, strong tooling, predictable contracts.
  • Python 3 (backend) – rich ecosystem for APIs and AI integrations.

Frontend

  • Build: Vite 7, React 19, TypeScript 5.8.
  • UI: Tailwind v4, Radix primitives, shadcn-inspired components.
  • Data: TanStack Query 5, Orval 7-generated API clients from OpenAPI.
  • Auth: Clerk (@clerk/clerk-react).

Backend

  • Framework: FastAPI + Starlette.
  • Data: PostgreSQL, SQLAlchemy 2.x (async), Alembic.
  • Auth: Clerk JWT verification via JWKS; dual model with JIT user provisioning.
  • AI/Docs: Azure OpenAI, Vision, Document Intelligence; LlamaIndex; pgvector.
  • Storage: Azure Blob Storage with SAS patterns.
  • Observability: OpenTelemetry libraries + Azure Monitor exporter.

DevX & Quality

  • Lint/Format: ESLint + Prettier (frontend), Ruff config present for Python style.
  • Testing: Pytest/pytest-asyncio on backend; component/integration tests on frontend.
  • Codegen: Orval keeps frontend clients in sync with backend OpenAPI.

CI/CD & Hosting

  • CI: Azure DevOps Pipelines with reusable templates.
  • Images: Docker; pushed to ACR.
  • Hosting: Azure Web App for Containers; CDN/Front Door in front of frontend.

Conventions

  • API grouped under /api/* with tags and prefixes per domain.
  • Health endpoints under /health/*.
  • ADRs in backend/py/docs/adr/* for major decisions.