JobBot - AI Job Application Automation

💡 Inspiration

Job hunting sucks. Copy-pasting the same info into 200+ application forms. We thought: "An AI should do this."

So we built JobBot - an AI that reads your CV, finds relevant jobs, and automates applications. Because your time is worth more than filling out repetitive forms.


🤖 What it does

JobBot automates job applications using AI.

  1. Paste your CV into the Chrome extension
  2. AI analyzes it and detects your job role (e.g., "software engineer", "designer")
  3. Click "Start Applying" on Indeed, LinkedIn, or any job board
  4. Watch the AI work:
    • Opens a new browser window
    • Waits 2-3 minutes for you to login (if needed)
    • Searches for jobs matching your role
    • Clicks "Apply" buttons
    • Fills forms with your name, email, phone
    • Submits applications

The AI sees the webpage (takes screenshots), understands the layout, and figures out what to click. No hard-coded scripts. Pure AI reasoning.


🛠️ How we built it

Stack:

  • Frontend: Chrome Extension (Manifest V3, JavaScript)
  • Backend: Python FastAPI server
  • AI: Browser-Use library + Nebius DeepSeek V3 (or OpenRouter/Ollama)
  • Automation: Playwright controlled by natural language AI prompts

The Secret:

Instead of brittle code like find_element_by_id("apply-button"), we just tell the AI:

task = "Search for designer jobs, click Apply, fill the form with user's info"

The AI figures out the rest. It adapts to different websites automatically.

Why DeepSeek V3?

  • Powerful reasoning for complex web interactions
  • Cheap ($0.14 per 1M tokens via Nebius)
  • Supports vision (can "see" job application forms)
  • Way better than smaller local models for multi-step tasks

😤 Challenges we ran into

1. The Login Screen Problem

Browser automation can't control your existing Chrome tabs (security reasons). It opens a NEW browser → you're not logged in.

Our Solution: AI detects login screens and WAITS 2-3 minutes for you to login. Then it automatically continues. Not perfect, but it works.

2. LLM Compatibility Hell

Tried OpenAI → hit rate limits. Tried Ollama → model too small, kept failing. Tried OpenRouter free tier → needed data sharing opt-in.

Final Solution: Nebius + DeepSeek V3. Reliable, cheap, no bullshit.

3. Browser-Use API Changes

The library updated mid-hackathon. BrowserConfig broke. Spent 2 hours debugging before reading the docs.

Lesson: Check. The. Documentation. First.

4. AI Doing Dumb Shit

AI would search for "software engineer" when the user was a designer. Fixed with CV analysis - now it extracts your actual job role from keywords.


🏆 Accomplishments

We built an end-to-end AI automation system that works.

✅ CV-based job matching - Applies to relevant positions only
✅ Login handling - Waits for you, then continues automatically
✅ Form automation - Fills Name/Email/Phone fields
✅ Real AI - Not hard-coded scripts, actual reasoning
✅ Multiple LLM options - Nebius, OpenRouter, or Ollama

Honest success rate: ~60-70% on simple "Easy Apply" jobs. Login screens and file uploads still need human help.


📚 What we learned

  • AI agents can control browsers using vision + natural language (mind-blowing)
  • Prompt engineering is everything - the AI does exactly what you tell it
  • Local models are hard - Ollama is cool but cloud LLMs are more reliable
  • Be honest about limitations - users appreciate transparency
  • Ship working prototypes > perfect vaporware

Biggest lesson: Spent 2 days planning a complex system. Threw it away. Built something simple in 6 hours. Simplicity wins.


🚀 What's next

Short-term:

  • Session persistence (so you don't re-login every time)
  • Support more job boards (Glassdoor, AngelList, etc.)
  • Application tracking dashboard
  • Better error messages

Long-term:

  • CV tailoring AI (customize your CV for each job)
  • Cover letter generation
  • Interview prep (AI generates practice questions from job descriptions)
  • Fully local Ollama mode (100% offline, privacy-first)

Vision: Privacy-first career tools. Your CV, your data, your computer. No cloud. No tracking. No selling your information to recruiters.


⚠️ Honest Disclaimer

JobBot is a hackathon prototype, not production software.

Works well:

  • ✅ Simple "Easy Apply" forms (Name, Email, Phone)
  • ✅ Detecting and waiting for login screens
  • ✅ Finding jobs that match your CV

Needs improvement:

  • ❌ Can't upload resume files automatically
  • ❌ Struggles with multi-page applications
  • ❌ Can't bypass CAPTCHAs
  • ❌ Requires manual login in the automated browser

We're honest about what it can and can't do. It's a proof-of-concept that AI can meaningfully automate job applications, even if it's not perfect yet.


🔑 Setup

1. Backend:

cd backend
pip install -r requirements.txt
python main.py

2. Add to .env:

NEBIUS_API_KEY=your_key_here

3. Load Extension:

  • Open chrome://extensions/
  • Enable Developer Mode
  • Load unpacked → select extension/ folder

4. Use it:

  • Go to Indeed/LinkedIn
  • Click JobBot extension
  • Fill your info
  • Click "Start Applying"
  • Login when the new browser opens (if needed)
  • Watch the AI work!

Built at Lumin Hacks 2025

"Automate the boring stuff so you can focus on landing the job."

Built With

Share this project:

Updates

Submission history