Overview
Two independent apps: an Express API on Bun and a Next.js frontend.
Architecture
Per-resource vertical slices route to controllers to services to Drizzle. Every response returns the same envelope.
Result
Full CRUD over profile, experience, academic, skills, and portfolio content.
