From aa3262b358b53bf358f612dc925d8da605a9c160 Mon Sep 17 00:00:00 2001 From: Abhinav Deval Date: Mon, 11 May 2026 22:17:31 +0530 Subject: [PATCH] Revise README for Auto-Fill Tool details Updated README to reflect new project features and structure. --- README.md | 230 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 185 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 2045650..6c0c757 100644 --- a/README.md +++ b/README.md @@ -1,71 +1,211 @@ -# OpenResume +
-OpenResume is a powerful open-source resume builder and resume parser. +# πŸ€– Auto-Fill Tool +### AI Resume Analyzer & Job Matcher -The goal of OpenResume is to provide everyone with free access to a modern professional resume design and enable anyone to apply for jobs with confidence. +**Stop copy-pasting. Start applying smarter.** -Official site: [https://open-resume.com](https://open-resume.com) +[![GSSoC 2026](https://img.shields.io/badge/GSSoC-2026-orange?style=for-the-badge&logo=github)](https://gssoc.girlscript.tech/) +[![Open Source](https://img.shields.io/badge/Open%20Source-%E2%9D%A4-red?style=for-the-badge)](https://github.com/sunilkumar2170/Auto-Fill-Tool) +[![Contributions Welcome](https://img.shields.io/badge/Contributions-Welcome-brightgreen?style=for-the-badge)](CONTRIBUTING.md) +
-## βš’οΈ Resume Builder +--- -OpenResume's resume builder allows user to create a modern professional resume easily. +## πŸ“Œ What Is This? + +**Auto-Fill Tool** is an open-source AI assistant that reads your resume, understands job descriptions, and matches them intelligently β€” so you spend less time copy-pasting and more time interviewing. + +It combines a **resume analyzer**, a **job description parser**, and an **auto-fill engine** into a single, privacy-respecting tool that runs locally in your browser. + +> **Built for GSSoC '26** β€” This project is actively accepting contributions from students and first-time open-source contributors. All skill levels welcome. + +--- + +## 🎬 Demo + +**Resume Builder in action:** ![Resume Builder Demo](https://i.ibb.co/jzcrrt8/resume-builder-demo-optimize.gif) -It has 5 Core Features: -|
**Feature**
| **Description** | +**Resume Parser in action:** + +![Resume Parser Demo](https://i.ibb.co/JvSVwNk/resume-parser-demo-optimize.gif) + +--- + +## ✨ Core Features + +| Feature | What It Does | |---|---| -| **1. Real Time UI Update** | The resume PDF is updated in real time as you enter your resume information, so you can easily see the final output. | -| **2. Modern Professional Resume Design** | The resume PDF is a modern professional design that adheres to U.S. best practices and is ATS friendly to top ATS platforms such as Greenhouse and Lever. It automatically formats fonts, sizes, margins, bullet points to ensure consistency and avoid human errors. | -| **3. Privacy Focus** | The app only runs locally on your browser, meaning no sign up is required and no data ever leaves your browser, so it gives you peace of mind on your personal data. (Fun fact: Running only locally means the app still works even if you disconnect the internet.) | -| **4. Import From Existing Resume PDF** | If you already have an existing resume PDF, you have the option to import it directly, so you can update your resume design to a modern professional design in literally a few seconds. | -| **5. Successful Track Record** | OpenResume users have landed interviews and offers from top companies, such as Dropbox, Google, Meta to name a few. It has been proven to work and liken by recruiters and hiring managers. | +| πŸ”„ **Real-Time Preview** | Resume PDF updates instantly as you type β€” no refresh needed. | +| 🎨 **ATS-Friendly Design** | Output follows U.S. resume best practices and is tested against platforms like Greenhouse and Lever. Fonts, margins, and bullet points are handled automatically. | +| πŸ”’ **100% Local Processing** | No sign-up. No server calls. Your data never leaves your browser. The app even works offline. | +| πŸ“₯ **Import Existing Resume** | Drop in your current PDF and the tool extracts your data instantly, ready for editing. | +| βœ… **Proven Track Record** | Users have landed roles at Google, Meta, Dropbox, and more. Hiring managers have noted its clean formatting. | +| πŸ€– **AI Job Matching** | Paste a job description and the tool highlights keyword gaps between your resume and the role. | +| ✍️ **Auto-Fill Engine** | Automatically populates form fields across job applications using your parsed resume data. | + +--- ## πŸ” Resume Parser -OpenResume’s second component is the resume parser. For those who have an existing resume, the resume parser can help test and confirm its ATS readability. +The built-in resume parser lets you test how well any ATS (Applicant Tracking System) can read your resume. -![Resume Parser Demo](https://i.ibb.co/JvSVwNk/resume-parser-demo-optimize.gif) +Upload a PDF β†’ get a structured breakdown of what the parser extracts. If important fields are missing, you'll know exactly what to fix. + +πŸ“– Read the full [Parser Algorithm Deep Dive](https://open-resume.com/resume-parser) to understand how it works under the hood. -You can learn more about the resume parser algorithm in the ["Resume Parser Algorithm Deep Dive" section](https://open-resume.com/resume-parser). +--- -## πŸ“š Tech Stack +## πŸ—‚οΈ Project Structure -|
**Category**
|
**Choice**
| **Descriptions** | +The project is built with **Next.js 13** and follows its standard conventions. All source code lives in `src/app`. + +| Page Route | Code Path | Purpose | |---|---|---| -| **Language** | [TypeScript](https://github.com/microsoft/TypeScript) | TypeScript is JavaScript with static type checking and helps catch many silly bugs at code time. | -| **UI Library** | [React](https://github.com/facebook/react) | React’s declarative syntax and component-based architecture make it simple to develop reactive reusable components. | -| **State Management** | [Redux Toolkit](https://github.com/reduxjs/redux-toolkit) | Redux toolkit reduces the boilerplate to set up and update a central redux store, which is used in managing the complex resume state. | -| **CSS Framework** | [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss) | Tailwind speeds up development by providing helpful css utilities and removing the need to context switch between tsx and css files. | -| **Web Framework** | [NextJS 13](https://github.com/vercel/next.js) | Next.js supports static site generation and helps build efficient React webpages that support SEO. | -| **PDF Reader** | [PDF.js](https://github.com/mozilla/pdf.js) | PDF.js reads content from PDF files and is used by the resume parser at its first step to read a resume PDF’s content. | -| **PDF Renderer** | [React-pdf](https://github.com/diegomura/react-pdf) | React-pdf creates PDF files and is used by the resume builder to create a downloadable PDF file. | +| `/` | `/page.tsx` | Landing page β€” hero section, demo, testimonials | +| `/resume-import` | `/resume-import/page.tsx` | Upload and parse an existing resume PDF (`ResumeDropzone`) | +| `/resume-builder` | `/resume-builder/page.tsx` | Build and download your resume (`ResumeForm` + `Resume`) | +| `/resume-parser` | `/resume-parser/page.tsx` | Test ATS readability using `parseResumeFromPdf` | + +--- + +## πŸ› οΈ Tech Stack + +| Layer | Technology | Why | +|---|---|---| +| **Language** | [TypeScript](https://github.com/microsoft/TypeScript) | Catches type errors at compile time, not at runtime. | +| **UI Library** | [React](https://github.com/facebook/react) | Component-based architecture keeps the UI modular and reusable. | +| **State Management** | [Redux Toolkit](https://github.com/reduxjs/redux-toolkit) | Manages the complex, nested resume state without boilerplate. | +| **CSS Framework** | [Tailwind CSS](https://github.com/tailwindlabs/tailwindcss) | Utility-first styling keeps everything in one file β€” no context switching. | +| **Web Framework** | [Next.js 13](https://github.com/vercel/next.js) | Static site generation + file-based routing out of the box. | +| **PDF Reader** | [PDF.js](https://github.com/mozilla/pdf.js) | Powers the resume parser's first step: reading raw PDF content. | +| **PDF Renderer** | [React-pdf](https://github.com/diegomura/react-pdf) | Generates the downloadable resume PDF from React components. | + +--- + +## βš™οΈ Local Development -## πŸ“ Project Structure +### Prerequisites -OpenResume is created with the NextJS web framework and follows its project structure. The source code can be found in `src/app`. There are a total of 4 page routes as shown in the table below. (Code path is relative to `src/app`) +Before you start, make sure you have the following installed: -|
**Page Route**
| **Code Path** | **Description** | +| Tool | Version | Check | |---|---|---| -| / | /page.tsx | Home page that contains hero, auto typing resume, steps, testimonials, logo cloud, etc | -| /resume-import | /resume-import/page.tsx | Resume import page, where you can choose to import data from an existing resume PDF. The main component used is `ResumeDropzone` (`/components/ResumeDropzone.tsx`) | -| /resume-builder | /resume-builder/page.tsx | Resume builder page to build and download a resume PDF. The main components used are `ResumeForm` (`/components/ResumeForm`) and `Resume` (`/components/Resume`) | -| /resume-parser | /resume-parser/page.tsx | Resume parser page to test a resume’s AST readability. The main library util used is `parseResumeFromPdf` (`/lib/parse-resume-from-pdf`) | +| **Node.js** | v18 or higher | `node -v` | +| **npm** | v8 or higher | `npm -v` | +| **Git** | any recent version | `git --version` | + +> **Windows users:** Use [Git Bash](https://git-scm.com/downloads) or [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) to run the commands below. + +--- + +### Method 1 β€” npm (Recommended) + +```bash +# 1. Clone the repository +git clone https://github.com/sunilkumar2170/Auto-Fill-Tool.git + +# 2. Move into the project directory +cd Auto-Fill-Tool + +# 3. Install dependencies +npm install + +# 4. Start the development server +npm run dev +``` + +Then open [http://localhost:3000](http://localhost:3000) in your browser. + +--- + +### Method 2 β€” Docker + +```bash +# 1. Clone the repository +git clone https://github.com/sunilkumar2170/Auto-Fill-Tool.git + +# 2. Move into the project directory +cd Auto-Fill-Tool + +# 3. Build the Docker image +docker build -t auto-fill-tool . + +# 4. Run the container +docker run -p 3000:3000 auto-fill-tool +``` + +Then open [http://localhost:3000](http://localhost:3000) in your browser. + +--- + +## 🀝 Contributing (GSSoC '26 β€” Start Here) + +We welcome contributors of all experience levels. Whether it's your first pull request or your fiftieth, here's how to get involved: + +**1. Fork the repository** using the "Fork" button at the top right of this page. + +**2. Clone your fork locally:** +```bash +git clone https://github.com//Auto-Fill-Tool.git +cd Auto-Fill-Tool +``` + +**3. Create a feature branch:** +```bash +git checkout -b feat/your-feature-name +``` + +**4. Make your changes, then commit:** +```bash +git add . +git commit -m "feat: describe what you changed" +``` + +**5. Push and open a Pull Request:** +```bash +git push origin feat/your-feature-name +``` + +Then open a PR against the `main` branch of `sunilkumar2170/Auto-Fill-Tool`. + +> **GSSoC participants:** Tag your PR with the `GSSoC-2026` label and link it to the relevant issue. Check the [Issues tab](https://github.com/sunilkumar2170/Auto-Fill-Tool/issues) for `good first issue` and `help wanted` tags β€” those are the best starting points. + +--- + +## πŸ“‹ Contribution Guidelines + +- Follow the existing code style (TypeScript + Tailwind conventions). +- Write clear, descriptive commit messages (`feat:`, `fix:`, `docs:`, `refactor:`). +- Test your changes locally before submitting a PR. +- Keep PRs focused β€” one feature or fix per PR. +- If you're unsure about scope, open an issue first to discuss. + +--- + +## πŸ› Reporting Issues + +Found a bug or have a feature request? [Open an issue](https://github.com/sunilkumar2170/Auto-Fill-Tool/issues/new) and include: + +- A clear description of the problem or idea +- Steps to reproduce (for bugs) +- Your OS, browser, and Node.js version +- Screenshots or screen recordings if relevant + +--- + +## πŸ“„ License + +This project is licensed under the [AGPL-3.0](LICENSE) β€” free to use, modify, and distribute. -## πŸ’» Local Development +--- -### Method 1: npm +
-1. Download the repo `git clone https://github.com/xitanggg/open-resume.git` -2. Change the directory `cd open-resume` -3. Install the dependency `npm install` -4. Start a development server `npm run dev` -5. Open your browser and visit [http://localhost:3000](http://localhost:3000) to see OpenResume live +Made with ❀️ for the open-source community Β· GSSoC 2026 -### Method 2: Docker +**[⭐ Star this repo](https://github.com/sunilkumar2170/Auto-Fill-Tool)** if you find it useful β€” it helps more contributors discover the project. -1. Download the repo `git clone https://github.com/xitanggg/open-resume.git` -2. Change the directory `cd open-resume` -3. Build the container `docker build -t open-resume .` -4. Start the container `docker run -p 3000:3000 open-resume` -5. Open your browser and visit [http://localhost:3000](http://localhost:3000) to see OpenResume live +