English · 中文 · Demo · Quick Start · How It Works · Features
What is FindJobs-Agent?
A full-stack job search assistant that crawls postings from major tech companies, analyzes them with LLMs, parses your resume, and runs AI mock interviews — so you can focus on preparing, not sifting through job boards.
The whole loop in one terminal run, offline: 54 sample postings crawled and structured, resume×job skill gaps, and a mock interview with a feedback report. Replay it with python examples/full_journey_demo.py.
Try It in 2 Minutes (Demo Mode)
No API key? No problem. Demo mode runs the whole app offline:
pip install -r requirements.txt
FINDJOBS_DEMO=1 python api_server.py # backend on :5000, seeds sample jobs on first run
cd FrontEnd && npm install && npm run dev # frontend on :8080
With FINDJOBS_DEMO=1, the server fills an empty jobs.db from data/sample_jobs.json (54 hand-written postings from the companies the crawlers target) and routes every LLM call through demo_llm.py, a deterministic stub that answers from the prompt content and never touches the network, even if a key is configured. Upload the bundled data/sample_resume.pdf on the resume page to walk the full loop: parsing, match scores, a 3-stage mock interview, and the tracking board. While the backend runs in demo mode, a small "Demo" badge shows in the navbar.
Both fixtures can be regenerated with python scripts/seed_demo_data.py and python scripts/make_sample_resume.py.
How It Works
Four pieces wired into one flow: a crawler pulls postings from company career sites, an LLM reads each one for requirements and skills, your resume gets parsed and scored against them, and any posting can drive an AI mock interview straight off its job description. The React frontend ties it together, so you go from "what's out there" to "let me practice for this one" without leaving the app.

Features
- Job crawler — pulls postings from Tencent, NetEase, ByteDance, Amazon and more, via API or Selenium, with automatic cleaning and normalization.
- LLM analysis — extracts education/major requirements, scores skill tags (1–5), and classifies each posting into a job taxonomy.
- Resume parsing & matching — parses PDF/Word resumes, scores skills, and computes a case-insensitive job-resume match percentage.
- AI mock interview — generates questions from any job description and runs a multi-turn interview with real-time feedback.
- Demo mode: set
FINDJOBS_DEMO=1to run the full app offline with seeded sample jobs, a bundled sample resume, and a deterministic stub LLM instead of a paid key. - SQLite persistence — analyzed postings are stored in a local
jobs.db; existing CSV data is migrated automatically on first run, with CSV/JSON as fallback. Uploaded resumes and mock-interview transcripts live in the same database, so restarting the API server no longer wipes them.
No comments yet.