Corporate Leave Management System
A 2026 rebuild of the HR leave domain, started from a design-tool export rather than a blank folder. Interesting for the process — taking generated scaffolding to something with a real schema and API — rather than for being finished, because it is not.
What it is
The same domain as the HR portal I built in 2023 — dashboard, leave requests, an approvals queue, attendance, an employee directory, announcements — rebuilt three years later on a current stack. Next.js on Prisma and Postgres, seventeen API routes, a checked-in migration and a substantial seed script.
It started as a design export
Not from a blank folder: from a Figma Make export, which arrives as a Vite app full of generated components and mock data. Making it real meant moving it to the Next.js App Router, replacing the mock data with a schema and migrations, writing the API routes underneath, and keeping the generated component library because it was the one part worth keeping. That is a 2026 workflow more people talk about than have actually done end to end, and the seams of it are still visible in the repository — which I would rather show than hide.
Honest scope — this one is unfinished
It stopped in January 2026 and it never reached the part that made the 2023 system worth having. Day counts are a plain date difference — no weekend or holiday exclusion, no half-days despite both being modelled, no accrual, no carry-forward. Balances are three static columns rather than a per-type ledger. There is no request validation, no tests and no CI. A holiday table exists and no code reads it. I am including it because the design-export-to-application path is genuinely worth showing and because the contrast with the 2023 build is the useful part — not because it is a finished product.