Inspiration

With internship season ongoing, some individuals may have many experiences and skills but do not know which ones best fit the roles they are applying for. Additionally, we do not like the fact that we have to manually edit our resumes using a text editor or LaTeX and save multiple copies each time we make changes.

What it does

Reuseme is an AI-assisted resume-building tool that takes every issue we encountered into consideration:

  • A drag-and-drop tool that allows you to easily switch out your experiences and skills to fit the needs of the position you are applying for.
  • An AI assistant that tailors your bullet points and ranks which experiences and skills you should include based on the role you are applying for.
  • An upload feature that allows you to turn any resume template into a customizable document.

How we built it

Frontend

  • Next.js + React — pages and interactive UI.
  • TypeScript — typed JavaScript throughout the app.
  • Tailwind CSS + custom CSS — styling and animations.
  • Zustand — manages documents, vault blocks, undo/redo, and UI state.
  • dnd-kit — dragging blocks, sections, and document tabs.
  • Lucide React — icons.
  • Browser localStorage — saves resumes and uploaded template settings.

Backend

  • Next.js API routes on Node.js — handles AI requests and uploads.
  • Google Gemini API — rewrites bullets, matches job descriptions, and analyzes resume formats.
  • Vercel AI SDK + Google provider — connects our backend to Gemini.
  • Zod — validates requests and AI responses.
  • Upstash Redis via REST API — tracks usage and enforces rate limits.
  • PDF.js — reads formatting information from uploaded PDFs.

Other

  • docx — generates Word document exports.
  • Browser print + print CSS — exports PDFs.
  • Vitest + jsdom — automated unit and simulated browser tests.
  • Playwright — tests complete user flows in a browser.
  • ESLint — checks code quality.
  • npm — manages packages and scripts.
  • Git + GitHub — version control and pull requests.
  • Vercel — hosting and deployment.

Challenges we ran into

  • Having a strong AI output for tailored bullet points and experience rankings.
  • Having a closely matched format for uploaded resume templates.
  • Making sure the drag-and-drop feature works smoothly without affecting the resume formatting.

Accomplishments that we're proud of

  • Responsive UI.
  • Smooth drag-and-drop feature.
  • Successfully integrated an AI assistant.
  • Built a useful app that can benefit students and job seekers.

What we learned

  • New programming languages: TypeScript.
  • New libraries: dnd-kit, Zustand, and Upstash.
  • AI integration and improving AI responses.
  • Collaboration, time management, and task distribution.

What's next for Reuseme

  • Accounts: Allow different users to log in, import their resumes, and save them in the cloud.
  • Logic: Improve AI responses and the logic behind many of our features.
  • Templates: Improve support for different resume formats and uploaded templates.
  • Security: Make the application industry-ready by making it resistant to cyberattacks and protecting user information, passwords, and resumes.
  • Mobile: Support of IOS and Android devices

Built With

Share this project:

Updates

Submission history