TEST ACCOUNT TO SIGN IN:

email=[email protected] password=dev-only-not-a-secret

Inspiration

When I started applying for jobs, I found it really difficult balancing behavioural & leetcode practice (for computer science roles), tailoring every job application based on the job description, networking, and learning new skills to strengthen my resume. Especially in todays market where it could take hundreds of applications just to land an interview, and if you spend time tailoring each application.... you would have no time left to do anything else. I am sure you have also had the experience of pouring your heart and soul into an application, for a job you really want, just to get hit with a generic rejection email.

I kind of see this problem similar to washing cloths by hand before washing machines were invented, its a kind of tedious grunt work that no one wants to do but forced to do. This was my inspiration for building ResumeDB, a web application that can automatically tailor your resume to a job description and automatically tracking the status of each application. If you pair this with a AI Agent like Muse (free to use) you can pretty much automate the whole job application process. The other AI tailoring tools I tried didn't give me as much control over tailoring my resume, and sometimes they invented things I'd never done. So one of the main design points for ResumeDB was to market you to a job that stays grounded in your real experience, and never takes any decision away from you.

I based the UI off Git diff (the tool that lets you solve merge conflicts in your code). Every AI change sits beside your original, and you accept or reject it one change at a time.

What it does

  1. Create your profile. Upload your resume once (PDF or Word). It's parsed into a structured profile that you review and correct.
  2. Tailor to a job posting. Paste a posting. ResumeDB reorders your experience, projects and skills by relevance and proposes bullet rewrites aimed at the role. You choose mine or AI's for each bullet. An optional culture-fit summary is written from your own background.
  3. Download and track. Export a Word or PDF resume. Every download is saved to an application tracker with a frozen copy of exactly what you sent, a dated status timeline, and a dashboard.

How we built it

  • Next.js (App Router) for the app, deployed on Vercel.
  • Supabase for auth, Postgres and row-level security, so each user only sees their own profile and applications.
  • Claude for resume parsing, relevance ranking, bullet rewrites and email classification. Prompts are structured so the model works only from facts already in the profile.
  • Jev for email classification, deciding what the current status of each application from the emails you recieve. I worked in planning stages (scope, PRD, spec, build) and verified and committed each build step.

Challenges we ran into

  • Parsing messy resumes. Resumes come in many formats and layouts. Turning them into a clean structured profile, and letting users fix mistakes easily, took many iterations.
  • Keeping rewrites honest. A rewrite that sounds better but overstates your experience is worse than no rewrite. Tuning for relevance without embellishment was the hardest prompt work.
  • Scope. The tracker, dashboard, email sync and agent API all came after the core loop worked. I had to keep cutting and sequencing so the main flow stayed solid.
  • Dev versus production safety. Seeded dev accounts made testing fast, but they live in a real database. I had to guard the dev tools off in production and think through what that exposes.

Accomplishments that we're proud of

  1. Creating a functional web app that solves one of my own problems.
  2. Learning more about UI/UX design.
  3. Learning how to create demo videos.

What we learned

  • Trust is a UI problem. The diff view mattered more than any prompt change. Showing the original next to the rewrite is what makes people comfortable accepting AI output.
  • Grounding beats cleverness. Constraining the model to the user's real experience gave better results than asking for "better" writing.
  • Working with agents. I wanted to get better at reading and judging agent output. Building a product whose core interaction is a human judging an AI's output taught me that directly.
  • Next.js has changed a lot, so I had to read the bundled docs instead of relying on what I remembered.

What is not included in the end-to-end walkthrough video

Since 3 minutes wasn't enough to screen record all the features, here is what was not included in the video. These are however in another showcase video if you want to check it out: https://youtu.be/Pa3IYZsaL0I

  • AI Agent integration: connect your AI agent (Muse, Claude...) to ResumeDB so it can automatically search for jobs and calls ResumeDB for a tailored resume. Your agent will then use the provided resume to fill out the application for you.

What's next for ResumeDB

-Finding test users to further iterate and improve ResumeDB (let me know if you are interested). -Cover letter generation from the same profile, more reliable inbox status updates, and deeper dashboard insights.

Built With

  • claude
  • jev
  • next.js
  • supabase
  • vercel
Share this project:

Updates

Submission history