Building the web
- Next.js 16 — App Router, server actions, route groups. Nothing beats it for operator dashboards right now.
- TypeScript — Strict mode from day one. Types are a refactor superpower once the codebase is past ~10k lines.
- Tailwind + CSS variables — Tailwind for utility, CSS custom properties for theming. Keeps both sides honest.
- Three.js — For hero scenes where a gradient isn't enough. Used sparingly.
Data + infra
- Supabase — Postgres + auth + storage. Brand side and every consumer product I ship.
- Prisma 7 + MariaDB — Philly CRM runs on MariaDB via the Prisma adapter. Chosen for ops team compatibility, not fashion.
- Vercel — Edge CDN + serverless. For everything that doesn't need persistent state I start here.
- Cloudflare — DNS + caching in front of the origins that aren't on Vercel.
Operator tooling
- Philly — My own CRM — operator-first, field-team-first. Obviously.
- GoHighLevel — For client sites where we need a full WhatsApp + pipeline stack fast.
- DM Champ — WhatsApp automation layer on top of GHL for Dutch consumer funnels.
- n8n (self-hosted) — Orchestration for things that don't fit inside one app. Self-hosted on Digital Ocean.
AI in the loop
- Claude (Anthropic) — Primary reasoning model. Code, content, extraction.
- Claude Code — Agent-style coding sessions. Pair-programs cleanly with a strict codebase.
- Relevance AI — For the multi-agent pipelines that outlive a single request.
Writing + shipping
- VS Code — With Claude + the usual suspects.
- Linear — Only project tracker I've tolerated for more than a quarter.
- Notion — Client-facing docs + the part of the ops wiki that isn't in code.
- GitHub — Everything public + everything private. Branch-per-feature, squash-merge.
Hardware
- MacBook Pro (M4) — Main driver. Runs the whole stack locally including the Philly DB.
- Ultrawide 34" — Code on the left, reference / docs on the right. Non-negotiable for me.
- Keychron K3 — Low-profile mechanical. Types for hours without the wrist tax.
- Moleskine + rollerball — Pre-build sketches still happen on paper. Some systems clarify faster that way.
Something missing you'd expect here? Say hi — I keep this page honest partly because readers flag the blind spots.