
My AI stack is the full layer cake — models, LangGraph, Supabase vectors, MCP, PostHog, Sentry, Vercel — chosen per job.
In my daily workflow
- I pick the layer first: IDE, server agent, or workflow automation.
- I default to managed services until cost or control forces self-host.
- I keep inventory updated on the AI-first hub and this gallery.
- I remove tools that overlap without clear winners.
How it makes me work smarter
A documented stack prevents shiny-object churn. When something breaks, I know which layer owns it — router, graph, retrieval, or host. New contributors read the stack once instead of archaeology in package.json.
My setup
- Cursor + MCP for development-time agents
- Next.js 15 + Vercel for serving
- Supabase Postgres + pgvector
- LangGraph, PostHog, Sentry, optional n8n
On this portfolio
The AI-first page and automation tables list the same tools this gallery elaborates on. The site is itself a reference implementation — not a slide deck of logos.


