Open-source online application form assistant. Resume Bridge keeps profile data, resume import, field matching, and open-answer drafting inside a reviewable browser extension so candidates can spend less time on repetitive entry while keeping control before submission.
| Feature | Description |
|---|---|
| Smart fill | Scan an online application page, match fields, and fill reviewable content |
| AI-assisted matching | Fast rule matching, fuzzy semantic matching, and optional whole-form AI planning |
| Resume import | Upload PDF / Word / TXT / Markdown resumes and extract structured profile data |
| Open-answer drafting | Generate editable drafts for online application questions from local profile data |
| ATS platform profiles | Includes adapters for Beisen, Moka, Zhaopin, Nowcoder, 51job, Greenhouse, and more |
| Local profile library | Personal info, experience material, and API keys stay in local browser storage |
| Backup and restore | Export or import the full profile library as JSON |
- Framework: Vite 6 + React 19 + TypeScript 5
- Extension runtime: Chromium Manifest V3 / Firefox WebExtensions
- Storage: IndexedDB
- AI providers: OpenAI / Claude / Qwen / Doubao / Ollama and compatible custom endpoints
npm install
npm run devnpm run dev watches and rebuilds into dist. After code changes, refresh the loaded extension in chrome://extensions/.
npm run build
npm run packageGenerated packages:
release/resume-bridge.crxfor Chromiumrelease/resume-bridge.zipfor Chromium source distribution or unpacked loadingrelease/resume-bridge-firefox.xpifor Firefoxrelease/resume-bridge-firefox.zipfor Firefox source distributionrelease/resume-bridge.pemdevelopment packaging key. Keep it private if you need a stable Chromium extension ID.
- Open
chrome://extensions/. - Enable Developer mode.
- Choose Load unpacked.
- Select the
distdirectory.
- Run
npm run package. - Open
about:debugging#/runtime/this-firefox. - Choose Load Temporary Add-on.
- Select
dist-firefox/manifest.jsonorrelease/resume-bridge-firefox.xpi.
- Open the extension popup and go to the profile library.
- Fill in personal info, education, work experience, and project experience.
- Optional: configure an AI model if you need resume import, open-answer drafting, or stronger whole-form matching.
- Optional: import a resume and review extracted fields before saving.
- Open an online application page.
- Open the Resume Bridge side panel and scan the form.
- Run smart fill.
- Review required fields, dropdowns, open answers, file uploads, consent boxes, and hidden step fields.
- Submit manually only after everything looks correct.
.
├── pages/ # popup/sidebar/options HTML entries
├── public/ # manifest, icons, and extension locale resources
├── scripts/ # cleanup and packaging scripts
├── docs/development.md # development notes
└── src/
├── app/ # React pages: popup/sidebar/options
├── core/
│ ├── engine/ # matching, filling, ATS, LLM, resume parsing
│ └── storage/ # IndexedDB storage, CRUD, backup/restore
├── entries/ # background, content, and page entry points
└── shared/ # global styles, types, icons, browser API shims, i18n
- Data is stored in local browser IndexedDB.
- API keys are stored locally.
- AI requests are sent directly to the configured model service.
- Resume Bridge does not collect, upload, or share your keys.
- Filled results should always be manually reviewed before submission.
This project continues from the ideas and engineering foundation of hanjiayuan2025-coder/CampusApply-Agent. Thanks to the original author for exploring the online application auto-fill scenario.
MIT License