Personal · 2026 · in progress

Resume Builder

One set of layout primitives renders the résumé in the editor and as a PDF.

The problem

Most résumé builders show one thing on screen and export something slightly different.

What I built

  • Shared render primitives for the browser editor and the PDF, covered by a dual-backend test.
  • Versioned, Zod-validated document schema with migrations; 7 section archetypes; themes and font pairs.
  • Zustand editor store with autosave and undo/redo; credentials and Google login with argon2.

In numbers

  • ~7.5k lines
  • 7 section archetypes

Stack

  • Next.js
  • Auth.js
  • Prisma
  • PostgreSQL
  • Zustand
  • Zod
  • React PDF