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.
- Paste your CV into the Chrome extension
- AI analyzes it and detects your job role (e.g., "software engineer", "designer")
- Click "Start Applying" on Indeed, LinkedIn, or any job board
- 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
- browseruse
- deepseek
- javascript
Log in or sign up for Devpost to join the conversation.