The assignment
Build a tool that takes a job description and customises your resume to match. Outputs a finished PDF — not a chat-bound Gem.

A resume-optimization tool built with Next.js, Supabase, and the Gemini API, designed to reframe a resume for ATS compatibility using an anti-hallucination system prompt.
Shohan shipped a LinkedIn post. This read comes from the artifact and Shohan's own account of it — no scores, just what the build does and does not show.
What it demonstrates
What is not shown
Take this awayUseful as a reference for the matching layer — the part worth pressure-testing in your own version is whether the output is genuinely sendable.
The output format is the product. A resume that only lives in a chat window can't be sent to a recruiter — forcing a real PDF is what turns a nice answer into a tool someone would actually use.
A finished file, not a chat answer
Something you could attach to an application: a formatted, downloadable PDF. The brief ruled out anything that only ever prints text into a chat window.
Matching that has actually read the JD
Responding to that specific posting's language and priorities and reordering real experience — as opposed to sprinkling its keywords into the same resume.
It survives the second job description
A pipeline you can run again on Monday, not one artful manual edit dressed up as a tool.
No numeric scores are published here. These pages are written reads of what each builder shipped — the build is the point, not a mark out of a hundred.