A CV reviewer that has not seen the posting, and a tracker that cannot say who you spoke to two weeks ago, are the two halves this puts together — the fit analysis and the interview preparation run against your real profile and the real job text. Two things to be clear on before you start: 35 job sources are configured but only around 8 currently deliver reliably, with the rest visibly marked as broken rather than quietly failing; and the core — applications, documents, appointments, statistics — works with no AI at all if you only want a better place than a spreadsheet.
An MCP server and dashboard for running a job search in the German-speaking market. It holds your profile, the postings you found, every application with its timeline and follow-ups, your documents, contacts and interview dates — and exposes them to Claude so the coaching side (CV review, fit analysis, interview simulation) has the actual material to work from. Everything is stored in one local SQLite file.
- A profile built through a guided conversation or extracted from an uploaded CV, then edited, checked, exported and switched between when several people share a machine — `ersterfassung_starten`, `profil_bearbeiten`, `profil_ueberpruefen`, `profil_zusammenfassung`, `profil_exportieren`, `profil_wechseln`, `profile_auflisten`
- Search criteria as must-have, plus and exclusion keywords, a scoring configuration you tune, and job searches run across the configured portals with results scored and sorted — `suchkriterien_setzen`, `scoring_konfigurieren`, `jobsuche_starten`, `jobsuche_status`, `stellen_anzeigen`
- Honest assessment of a specific posting: point-by-point fit against your profile, the skills it wants that you do not have, salary extracted from the text and checked against market data, and company research — `fit_analyse`, `skill_gap_analyse`, `gehalt_extrahieren`, `gehalt_marktanalyse`, `firmen_recherche`, `stelle_bewerten`
- Applications created and tracked through status changes, with follow-ups scheduled and surfaced when due — `bewerbung_erstellen`, `bewerbung_status_aendern`, `bewerbungen_anzeigen`, `bewerbungs_uebersicht`, `nachfass_planen`, `nachfass_anzeigen`
- Documents analysed in bulk, matched to applications, and CVs and cover letters exported per posting with skills ordered by relevance — `dokumente_zur_analyse`, `dokumente_batch_analysieren`, `bewerbungs_dokumente_erkennen`, `lebenslauf_exportieren`, `anschreiben_exportieren`
- Rejections turned into something usable: patterns across rejections, response times and rates, plus reports you can export — `ablehnungs_muster`, `statistiken_abrufen`, `bewerbungsbericht_exportieren`, `branchen_trends`
- Guided workflows rather than isolated commands — 25 of them — covering first-time setup, the job-search loop and the application sequence — `workflow_starten`, `jobsuche_workflow_starten`
- IDs you can read at a glance: `APP-` for an application, `JOB-` for a posting, `DOC-` for a document, `MTG-` for a meeting and `CON-` for a contact, with the older bare hex ids still accepted
Claude Desktop, which is free — or Claude Code on Linux. The application itself costs nothing and stores everything locally in `pbp.db`; no server, no account, no cloud, and deleting that file deletes everything. On Windows 10/11 download the release ZIP and double-click `INSTALLIEREN.bat`; on macOS 12+ install Python 3.11+ first and run `INSTALLIEREN.command`; on Linux clone and run `installer/install.sh`. The published package is `bewerbungs-assistent` on PyPI, launched with uvx. It is built for the German-speaking market only: tools, workflows, portals and interface are all in German. Data does leave the machine when you use Claude — the relevant profile and posting text is sent as part of the conversation, as with any Claude chat.
Build from source — clone the repository and build it
