Skip to content

akhilyad/Optimus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimus Banner

Optimus

A free, local, open-source AI-powered job application platform — no API keys, no subscriptions.
Aggregates jobs from multiple boards, scores them against your resume, and auto-applies using browser automation.

Features Setup Python Flask Selenium Ollama License


 ██████╗ ██████╗ ████████╗██╗███╗   ███╗██╗   ██╗███████╗
██╔═══██╗██╔══██╗╚══██╔══╝██║████╗ ████║██║   ██║██╔════╝
██║   ██║██████╔╝   ██║   ██║██╔████╔██║██║   ██║███████╗
██║   ██║██╔═══╝    ██║   ██║██║╚██╔╝██║██║   ██║╚════██║
╚██████╔╝██║        ██║   ██║██║ ╚═╝ ██║╚██████╔╝███████║
 ╚═════╝ ╚═╝        ╚═╝   ╚═╝╚═╝     ╚═╝ ╚═════╝ ╚══════╝
         AI Job Application Autopilot  •  100% Free

✨ Features

🔍 Multi-Source Job Aggregation

Scrapes jobs from 4+ free sources simultaneously with no API keys:

  • RemoteOK — 1000s of remote tech jobs
  • Arbeitnow — Global job listings
  • WeWorkRemotely — Curated remote jobs
  • Himalayas — Remote-first companies

🤖 AI-Powered Matching

Every job is scored 0–100% against your resume:

  • Extracts skills, titles, experience from your resume
  • Keyword overlap + semantic matching
  • Ollama local LLM for deep analysis
  • Zero cost — runs entirely on your machine

⚡ Auto Apply Autopilot

Set it and forget it — Optimus applies for you:

  • LinkedIn Easy Apply automation
  • Indeed Apply form filler
  • Generic apply — smart form detection
  • Daily application limits to stay human-like
  • Headless or visible browser mode

📝 AI Cover Letter Generator

Personalized cover letters in seconds:

  • Uses Ollama (local LLM) for natural language
  • Template fallback — always works offline
  • Regenerate with one click
  • Auto-fills application forms

📄 Smart Resume Parser

Upload PDF or DOCX — Optimus extracts:

  • Skills and technologies
  • Years of experience
  • Education details
  • Contact info (auto-fills your profile)

📊 Application Tracker

Full Kanban-style pipeline:

  • Applied → Interview → Offer → Rejected
  • Notes per application
  • Real-time status updates via WebSocket
  • 14-day application activity chart

🖥️ UI Preview

Dashboard Job Board Application Tracker
Stats, charts, activity feed AI-scored job cards Kanban status pipeline
Resume Manager Settings Activity Logs
Upload & parse resume Profile + autopilot config Real-time terminal

Dark theme throughout with real-time WebSocket updates, animated match-score rings, and a responsive sidebar layout.


🚀 Quick Start

Prerequisites

  • Python 3.10+
  • Google Chrome (for auto-apply)
  • Ollama (optional, for AI cover letters)

1. Clone & Install

git clone https://github.com/akhilyad/Optimus.git
cd Optimus

Windows (recommended):

run.bat

Manual:

python -m venv venv
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

pip install -r requirements.txt
python app.py

2. Open in Browser

http://localhost:5000

3. (Optional) Set up Ollama AI

# Install Ollama from https://ollama.com
ollama pull llama3.2
# Optimus auto-detects it — no config needed

⚙️ Configuration

Everything is configured through the Settings UI — no .env files needed.

Setting Description
Full Name / Email / Phone Used to auto-fill application forms
Target Job Titles E.g. Software Engineer, Backend Developer
Skills Comma-separated; auto-extracted from resume
Blacklist Companies Never apply to these
Blacklist Keywords Skip jobs containing these words
Daily Apply Limit Max applications per day in autopilot mode
Auto Apply Toggle Enable/disable the autopilot agent

🗂️ Project Structure

Optimus/
├── app.py                  # Flask app — all routes & background workers
├── config.py               # Configuration
├── database.py             # SQLAlchemy models
├── requirements.txt        # Python dependencies
├── run.bat                 # Windows one-click launcher
│
├── modules/
│   ├── job_scraper.py      # Multi-source job scraper (4 free APIs)
│   ├── auto_apply.py       # Selenium automation (LinkedIn, Indeed, Generic)
│   ├── ai_engine.py        # Ollama LLM + template cover letter engine
│   └── resume_parser.py    # PDF/DOCX resume parser
│
├── templates/
│   ├── base.html           # Sidebar layout with WebSocket connection
│   ├── dashboard.html      # Stats, charts, activity feed
│   ├── jobs.html           # Filterable job board grid
│   ├── job_detail.html     # Job details + apply panel + cover letter
│   ├── applications.html   # Application tracker with status control
│   ├── resume.html         # Resume upload with drag & drop
│   ├── settings.html       # Full settings panel
│   └── logs.html           # Real-time terminal log view
│
└── static/
    ├── css/style.css       # Full dark theme (600+ lines)
    └── js/main.js          # WebSocket, charts, toasts, UI logic

🔌 API Endpoints

Method Endpoint Description
GET / Dashboard
GET /jobs Job board with filters
GET /jobs/<id> Job detail + cover letter
GET /applications Application tracker
POST /api/scrape Trigger job scrape (background)
POST /api/apply/<id> Auto-apply to a job
POST /api/autopilot/start Start autopilot agent
POST /api/autopilot/stop Stop autopilot
GET /api/stats Dashboard statistics
POST /api/generate-cover-letter AI cover letter
GET /api/ollama/status Check local AI status

🧠 How the AI Works

Optimus uses no paid AI APIs. All AI runs locally:

Resume Upload
     │
     ▼
Resume Parser ──► Extract skills, experience, education
     │
     ▼
Job Score Engine ──► Title match (30pts) + Skills match (40pts)
                      + Remote pref (10pts) + Content quality (20pts)
                                   │
                                   ▼
                          Score: 0–100% Match
                                   │
                    ┌──────────────┴──────────────┐
                    ▼                             ▼
              Ollama Online              Ollama Offline
          (llama3.2, qwen3, etc.)    (Template engine)
                    │                             │
                    └──────────────┬──────────────┘
                                   ▼
                          Cover Letter Generated

🔒 Privacy

  • 100% local — all data stays on your machine
  • SQLite databasedata/optimus.db — no cloud sync
  • No telemetry — zero external data collection
  • No accounts — no sign-up, no login, no SaaS

🤝 Contributing

Contributions are welcome!

git checkout -b feature/your-feature
# make changes
git commit -m "feat: add your feature"
git push origin feature/your-feature
# open a pull request

Ideas for contributions:

  • Add more job board scrapers (Glassdoor, Dice, Wellfound)
  • Improve LinkedIn/Indeed Selenium flows
  • Add email notifications
  • Add export to CSV/Excel
  • Mobile-responsive improvements

📄 License

MIT License — free to use, modify, and distribute.


Built with ❤️ — A free, open-source alternative to JobCopilot

Star this repo if Optimus helps your job search!

About

AI Agentic Tool for Job aaplications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors