Tech Stack
Volledige tech stack keuzes per laag
Tech Stack
Application Layer
| Component | Keuze | Reden |
|---|---|---|
| Frontend Framework | Next.js 14 (App Router) | SSR + static export, React ecosysteem |
| API Framework | Fastify | High-performance, schema-first, plugin architectuur |
| Styling | Tailwind CSS | Utility-first, design tokens, geen runtime overhead |
| Authenticatie | Clerk | Managed auth, webhooks, portal support |
| Fonts | Space Grotesk + Inter | Professioneel, leesbaar, open source |
Data Layer
| Component | Keuze | Reden |
|---|---|---|
| Database | Supabase (PostgreSQL) | Managed, realtime, Row Level Security, Edge Functions |
| ORM | Supabase client + raw SQL | Geen ORM overhead, volledige controle |
| Validatie | Zod | Schema-first, TypeScript-native, runtime validatie |
| Type generatie | supabase gen types | TypeScript types vanuit database schema |
Infrastructure
| Component | Keuze | Reden |
|---|---|---|
| Hosting | Hetzner VPS | Europese hosting, voorspelbare kosten, volledige controle |
| Reverse Proxy | Caddy | Automatische HTTPS, minimale config |
| Process Manager | PM2 | Node.js apps, zero-downtime deploys |
| CI/CD | GitHub Actions | 13 workflows, native GitHub integratie |
| Secrets | GitHub Secrets | Geïntegreerd met Actions, MCP toegang |
Monitoring & Observability
| Component | Keuze | Status |
|---|---|---|
| Error Tracking | Sentry | ✅ Active |
| Uptime | BetterStack | ⚙️ Configured |
| Performance | Sentry Web Vitals | ✅ Active |
| Database | Supabase Dashboard | ✅ Native |
AI & Automation
| Component | Keuze | Reden |
|---|---|---|
| AI Agents | Claude Code | Multi-agent, MCP support, sub-agents |
| Task Management | Plane + CLEO | Cloud + lokaal, MCP integratie |
| Event-driven | Inngest | Background jobs, workflows, retries |
| Research | Perplexity | Web-grounded, citation support |