Stack
What I reach for, and the decision behind each.
Only tools used in shipped work or on this site. Each row links to where it is proven.
| Name | Level | Proof |
|---|---|---|
| Next.js 16.4Cache Components by default; every route must produce a static shell. | this site | Proof → |
| React 19.3Server Components first; client code only for the contact form state and the language switch. | this site | Proof → |
| SupabasePostgres and auth in one service, so a solo project ships real accounts without running its own auth server. | shipped | Proof → |
| Postgres (Row Level Security)Access rules live in the database: only a link's creator can read or change it, whatever the UI does. | shipped | Proof → |
| VercelDeploy target for shipped work. The redirect is answered first; click logging runs after the response. | shipped | Proof → |
| TurbopackDefault bundler for dev and build. No webpack config to maintain. | this site | Proof → |
| Tailwind CSSUtility-first styling in shipped work; on this site, tokens live in CSS via @theme with no component library. | shipped | Proof → |
| nuqsFilter state lives in the URL, parsed on the server, so filters work without JS. | this site | Proof → |