The same roles are scattered — and duplicated — across LinkedIn, StepStone, Xing and the Arbeitsagentur.
Every serious application means rewriting the CV and cover letter. 30–60 minutes, per job.
No feedback loop: which skills are in demand? Which of your applications actually worked?
Result: people either send generic applications everywhere — or burn out tailoring a few.
Upload your CV once — the AI turns it into a reviewed experience base. Every score and every document is built from what you've actually done. No fabrication, ever.
The agent prepares; you submit. No auto-apply, no stored job-board credentials, no ToS violations — a deliberate design choice.
Because everything is structured, the Trends tab shows what the market wants right now: top skills, salary ranges, remote split, hottest locations and companies — with a one-paragraph AI summary.
Layer 1 — a deterministic 0–100 score (skills 45 · role 20 · location · remote · seniority · salary): instant and free for every job.
Layer 2 — the top candidates get an LLM re-score that reads your actual experiences and explains itself in plain language.
Mark a job as interview or offer and its skills become a success signal: similar jobs rise in the ranking, and the AI scorer is told what worked. Plus smart caching — unchanged jobs never pay for a second LLM call.
Every score comes with a visual breakdown — you always see why a job ranks where it does.
Your CV photo, your prompt add-ons (“emphasise leadership”, “max 250 words”), your own LaTeX template — all per user, all in Settings.
Documents are compile-validated (Tectonic). If a tailored version fails, it falls back to your known-good template — generation never leaves you empty-handed.
Served from a small home desktop, exposed safely over HTTPS — no open ports, auto-restarting.
Cookie sessions: your jobs, experiences, documents and settings are yours alone. Idle workspaces auto-clean after 48 h.
Visitors paste their own LLM key (Groq is free, OpenRouter, …) — the host's credentials are never shared or exposed.
All heavy work runs through one serial worker with live “#2 in line” feedback — many users, one small machine, no meltdown.
Scraping and rule-based ranking work with no key at all; the owner workspace sits behind an admin key.
FastAPI + SQLite · React + Vite · pure requests/BeautifulSoup scrapers · Tectonic for LaTeX→PDF · any OpenAI-compatible LLM (Kisski, Groq, OpenRouter, …) · one Docker compose, two containers.
Design principle: the LLM is reserved for judgment — parsing CVs, refining matches, writing documents. Everything else is plain, testable Python.