Stack
What's running underneath.
A single coherent toolchain — TypeScript end to end, PostgreSQL for state, Cloud Run for compute, and Claude/OpenAI for the AI layer.
Stack matrix
Tech stack inventory.
Every surface, every package — visible, versioned, with SBOM linked.
app.screver.ch/infrastructure/stack
InfrastructureStackslug: stack
⌘K
MK
Tech stack inventory
12 surfaces · 142 packagesRuntime
Node 22 · Bun · TS 5.6
latestSBOM
Web
Next.js 15 · React 19
latestSBOM
API
tRPC · OpenAPI 3.1
latestSBOM
DB
Postgres 16 · pgvector
latestSBOM
Cache
Redis 7
latestSBOM
Queue
BullMQ
latestSBOM
Edge
Cloudflare Workers
latestSBOM
CMS
Payload (headless) 3
latestSBOM
AI
Anthropic Claude · OpenAI
latestSBOM
Observability
OpenTelemetry · Grafana
latestSBOM
Tests
Vitest · Playwright
latestSBOM
CI/CD
GitHub Actions · ArgoCD
latestSBOM
Production
Runtime dependencies.
- Next.js 15 (App Router, output: standalone)
- Payload CMS 3.x (headless) (embedded in Next.js)
- PostgreSQL 17 (Cloud SQL)
- Tailwind CSS v4 + shadcn/ui (Radix-based components)
- Framer Motion
- Stripe (server SDK + React Elements)
- TWINT (token + QR), Datatrans, SIX Payment / Worldline, PostFinance
- Resend (transactional email)
- pdf-lib + qrcode (PDF tickets)
- HubSpot API (CRM)
- SBB / opendata.ch transport API
- Google Cloud Storage (media)
- Cloudflare (CDN, WAF, DDoS)
- TypeScript with Zod (runtime validation)
- Anthropic Claude SDK + OpenAI SDK (AI layer)
- MCP TypeScript SDK
- pgvector (RAG embeddings)
- pg-boss (job queue, retries, schedules)
Tooling
Build, test, deploy.
- GitHub Actions (CI/CD)
- Docker (multi-image build: staging runner, production runner, schema-push)
- Cloud Run (europe-west6 / Zurich, with multi-region option)
- ESLint + TypeScript strict mode
- Vitest (unit tests)
- Playwright (E2E)
- Renovate / Dependabot (upgrades)
- OpenTelemetry traces
- Shiki (code highlighting)
Keep reading
