Skip to content

joelnishanth/offlyn-apply

Offlyn Apply

Privacy-first job application assistant for Firefox

Auto-fill forms · AI cover letters · Local Ollama · Zero cloud · Zero tracking

MIT License Version 0.2.4 Firefox 109+ Ollama Zero data uploaded

🌐 Website · Quick Start · Contributing · Report a Bug


Offlyn Apply — Extension Home & Dashboard

What It Does

Offlyn Apply detects job application forms on sites like Workday, Greenhouse, Lever, and plain HTML forms, then fills them out automatically using your stored profile. Everything runs locally via Ollama — no cloud, no API keys, no data sent anywhere.

Feature Description
Smart Auto-Fill Detects all form fields and fills them from your profile in seconds
🧠 AI Cover Letters Generates tailored cover letters using a local Ollama model
📊 Application Tracker Kanban dashboard to track every application from submitted to offer
🔒 100% Private All data in browser.storage.local — no backend, no sync, no cloud
🎯 ATS Detection Identifies Workday, Greenhouse, Lever, and 50+ other ATS systems
🔁 Learns From You Reinforcement learning improves autofill accuracy from your corrections

Screenshots

Extension Popup
Extension Popup
One-click auto-fill & cover letter
Compatibility Score
Compatibility Score
AI-powered skills & salary match
Profile Onboarding
Profile Onboarding
8-step guided setup from your resume

Requirements

  • Firefox 109+
  • Node.js 18+
  • Ollama running locally with a model pulled (e.g. llama3.2)

Getting Started

1. Clone the repo

git clone https://github.com/joelnishanth/offlyn-apply.git
cd offlyn-apply/apps/extension-firefox

2. Install dependencies

npm install

3. Start Ollama

ollama serve
ollama pull llama3.2

4. Build the extension

npm run build

5. Load in Firefox

npm run run:firefox

Or load manually: open about:debugging → "This Firefox" → "Load Temporary Add-on" → select dist/manifest.json.


Project Structure

offlyn-apply/
├── apps/
│   └── extension-firefox/
│       ├── src/
│       │   ├── background.ts     # Service worker / background script
│       │   ├── content.ts        # Content script (injected into pages)
│       │   ├── popup/            # Popup UI
│       │   ├── onboarding/       # First-run onboarding flow
│       │   ├── dashboard/        # In-page job tracker
│       │   ├── settings/         # Settings page
│       │   └── shared/           # AI clients, autofill logic, utilities
│       └── package.json
├── assets/                       # Logo and screenshots
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── SECURITY.md
├── LICENSE
└── index.html                    # GitHub Pages landing page

Development

Command Description
npm run build Production build to dist/
npm run dev Watch mode — rebuilds on file changes
npm run run:firefox Build + launch Firefox with extension loaded
npm test Run unit tests (Vitest)
npm run test:watch Tests in watch mode

Privacy Architecture

All data stays on your machine. The extension only makes network requests to localhost (Ollama).

Your Browser (local storage)
    ├── Profile data (resume, personal info)
    ├── Application history
    └── Learned corrections

localhost:11434 (Ollama)
    └── Cover letter generation
        └── Model runs entirely on your hardware

No external servers. No analytics. No telemetry.

Contributing

Contributions are welcome — bug fixes, new ATS integrations, better form detection, UI improvements. Please read CONTRIBUTING.md before opening a pull request.

Good first issues: look for the good first issue label.


Security

If you discover a security vulnerability, please follow the responsible disclosure process in SECURITY.md rather than opening a public issue.


License

MIT — © 2026 Joel Nishanth

About

Offlyn Apply

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors