CV:
- Split education into proper German sections (Studium, Berufsausbildung,
Schulbildung, Weiterbildungen) instead of one lumped "Ausbildung".
- Keep the timeline gap-free (lückenlos) and strip HR red-flag phrases
("nicht beendet", "abgebrochen", "arbeitslos", …) defensively.
Cover letter:
- Full refactor to a clean, single-column DIN-5008 business letter: letterhead
(name left, contact right, hairline), recipient block, right-aligned date,
bold subject, body, signature space, enclosure note ("Anlage: Lebenslauf").
- Monochrome (grayscale only), no accent colours; own single-page auto-fit.
- Prompt hardened against red flags (no salary, no reasons for leaving, no gaps).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Fixed, high-quality CV/cover-letter template modelled on the user's reference:
navy sidebar (name, headline, contact, skills with bullets, languages, hobbys)
and a white main column with accent-underlined section headings and dated
entries (date gutter, bold title, blue company line, description).
- The LLM now supplies only the text; layout/design is owned by the renderer.
- Extended the extracted fields with headline, birth date, driving licence and
hobbys (grounded in the base documents, empty when absent).
- Two-column auto-fit keeps each document on a single A4 page.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- AI now returns structured data (contact, cover-letter paragraphs, CV
experience/education/skills/languages) instead of flowing text.
- Modern CV renderer: header with name + contact, tracked section titles with
hairlines, entries with right-aligned dates and bullets, skill chips, languages.
- Clean DIN-style cover letter with matching header, recipient block,
right-aligned date, subject, salutation, body, closing.
- Auto-fit engine scales fonts/spacing so each document always fits one A4 page.
- Tolerant parsing (key synonyms, object date ranges, markdown fences) + an
explicit JSON skeleton in the prompt, since the model honours the schema loosely.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Browser extension (Chromium MV3) injecting a "send to tracker" button next
to the Indeed job description; scrapes job info and posts it to a new
/api/indeed-import endpoint (CORS-enabled), configurable tracker URL via popup.
- New "Entwurf" status. Imports create a draft and trigger background AI
generation of tailored Anschreiben + Lebenslauf (PDF attachments) via the
Ollama Cloud API, grounded strictly in user-provided base documents.
- Vorlagen page to manage base documents; attachments UI, generation status
polling, regenerate and download routes on the application page.
- Schema: ort/stellenbeschreibung/quelle_url/generierung_* columns, plus
basis_dokumente and anhaenge tables (with migrations).
- Config via .env (OLLAMA_API_KEY/OLLAMA_MODEL/OLLAMA_HOST); dependency-free
.env loader. Dockerfile copies lib/, .dockerignore added.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>