Skip to content
Yash WaghmarePortfolio, 2026
YASH
ready? scroll gently.
loading the fun…0%
Back to work

Case 03 of 03

RESUME BUILDER

Type once. See it live. Export a clean PDF.

Form enginerendered from schemaName RoleFrontend EngineerExperience+ Add entryProjects+ Add entrySkillsReact · TypeScript · CSS
 Frontend EngineerExperienceProjectsSkills
PDF
Role
Frontend developer
When
2026
Built with
React · JavaScript · jsPDF · CSS3
Result
Live on swc.iitg.ac.in
The problem

“Most resume tools lock you into rigid templates — and then mangle the formatting the moment you export.”

How it works

Describe the formas data.

  1. 1

    Schema

    One per section

  2. 2

    Form engine

    Renders any schema

  3. 3

    Shared state

    Single source of truth

  4. 4

    Live preview

    Subscribes to state

  5. 5

    Render guard

    No wasted re-renders

  6. 6

    jsPDF

    Print-ready export

The hard parts

01

Live sync

Keep the preview in perfect sync with deeply nested forms — without re-rendering everything.

02

Extensible schema

Support 10+ section types while staying simple to extend.

03

ATS-proof PDFs

Consistent, print-ready output that survives ATS parsing.

What came out of it

10+

section types from one generic form engine

ATS

friendly, print-ready PDF exports

Live

preview that keeps up as you type

Life of a resume
Resume · ticket01

Typed

Form engine

Fields render straight from the section schema.

DRAFT

Resume · ticket02

Previewed

Shared state

The preview subscribes to the same state, instantly.

IN SYNC

Resume · ticket03

Exported

jsPDF

One click turns it into a clean, ATS-friendly PDF.

PDF ✓

from blank form to PDF in one sitting

Next up

VELORA

Fleet routing that doesn’t make you wait — Next.js, FastAPI, Celery.