gitmyhub

open-resume

TypeScript ★ 8.7k updated 1y ago

OpenResume is a powerful open-source resume builder and resume parser. https://open-resume.com/

A free, browser-based tool for building a clean resume PDF and checking whether your existing resume can be properly read by the automated systems that screen job applications.

TypeScriptNext.jsReactTailwind CSSPDF.jsreact-pdfDockersetup: easycomplexity 2/5

OpenResume is a free, open-source web app that helps you create a polished resume PDF and check how well an existing resume can be read by automated hiring systems. You can use the hosted version at open-resume.com or run it yourself locally.

The resume builder side lets you type in your information and watch the PDF update in real time as you type. The output follows a clean, modern layout that the project says meets U.S. resume conventions and is readable by common applicant tracking systems used by employers. Fonts, margins, and bullet formatting are handled automatically. No account or sign-up is required. The app runs entirely in your browser, so none of your personal information is sent to a server.

If you already have a resume as a PDF file, you can drop it into the app and it will try to read and import your existing content. This lets you quickly update an old resume to the project's modern layout without retyping everything.

The resume parser is the second main feature. You feed it a PDF and it shows you how an automated hiring system would read it, which helps you spot formatting problems that might cause your resume to be misread or lost in a screening process.

On the technical side, the app is built with Next.js, React, TypeScript, and Tailwind CSS. It uses Mozilla's PDF.js library to read uploaded PDFs and React-pdf to generate downloadable PDF output. You can run it with npm or Docker in a few steps. The project structure is straightforward: four page routes covering the home page, resume import, resume builder, and resume parser. The code is open source so you can inspect, modify, or self-host it however you like.

Where it fits