Fastify is a Node.js framework built around plugin encapsulation and speed: every plugin gets its own isolated scope by default, decorators extend the framework itself rather than chaining middleware onto individual routes, and request validation is a first-class part of the framework rather than something bolted on. It’s also what I use in my day job, so this series is built to genuinely mirror a real production stack rather than a simplified version of one.
The domain is support and helpdesk ticketing, deliberately: it shows up across nearly every industry, and the underlying problems it involves (status lifecycles, SLA timers, agent assignment) are a natural fit for the tools this series builds toward. Each app in this series goes deeper, starting with ticket CRUD and real authentication, then agent accounts and live updates, then durable SLA workflows and background jobs.
Projects build on each other.
| 1 | Support Ticket API A support agent can register, log in, and manage a full ticket lifecycle: creating tickets, filtering by status or priority, updating assignment and priority, and leaving comments tied to whichever agent is actually logged in. Built inside an NX monorepo matching a real production folder structure, with every route backed by a real JWT-based auth check and a full test suite covering both success and failure paths. NX | Fastify | Postgres · Drizzle ORM | Zod validation | Vitest · 23 tests | TypeScript |
| 2 | TBD JWT auth | Cloudflare Workers deploy | React + Zustand | Playwright | vitests |