Automating job applications with a scalable AI system.
How we helped Arbeitly automate candidate onboarding, job discovery, matching, CV and cover-letter generation and application tracking, while keeping people in control of every final submission.
- Client
- Arbeitly, Germany
- Sector
- Managed job-application service
- Role
- Product and AI engineering
- Timeline
- Mar–Jul 2026
~1,500/day
Jobs ingested from three official APIs
~30 sec
Tailored document generation
~€0.04
Cost per tailored CV
The service worked when the founder did it himself. It didn’t scale with his team.
The founder had a strong personal process for finding the right roles, reading the nuance in a description and tailoring an application without overstating the candidate. When he hired staff to add capacity, the team could follow the steps but not reproduce his judgement, and each application still took roughly thirty to forty-five minutes.
- Application quality varied by employee
- Job selection depended on individual judgement
- CVs and cover letters were tailored by hand, every time
- More candidates meant proportionally more staff time
A manual application process, turned into a repeatable system.
We started by structuring what the founder used implicitly: work authorisation, language level, location, target roles, seniority, salary, industries and experience, around fifty fields at onboarding. From there the system ingests jobs from Bundesagentur für Arbeit, Adzuna and Jooble, decides which roles are eligible, scores the ones worth considering, generates tailored documents from trusted source material and hands the final decision back to staff.
- Eligibility as a hard gate before any fit scoring
- An explainable 0–100 match score with tiers
- AI tailoring from existing evidence only
- Human review and final submission
- Tracking from To Apply through to Offer
The first version worked until real data and real users hit it.
When the system failed, the failure usually looked plausible: a hallucinated metric, a wrong language classification, a silently missing job. We learned to separate bad output from silent bad output, because the second is far more dangerous.
So we built reliability around the AI instead of trusting it. CV generation moved from freeform rewriting to bounded patching against candidate-owned documents. One model for everything became operation-specific routing with real cross-provider failover. Hardcoded prompts became admin-editable configuration, and invisible bugs became Sentry alerts, request IDs and CI.
What changed, side by side.
Judgement
Lived in one person
Rules, prompts and tiers as configurable software
Job discovery
Manual search
Three official APIs into one pool
Eligibility
Mixed in with fit
A hard gate, separate from weighted fit
Documents
Rebuilt by hand every time
Generated from trusted base evidence
People
Repetitive production work
Review, exceptions and submission
Handling time
30–45 min per application
1–2 min per application
Timings are founder estimates rather than instrumented measurements, and per-step costs are approximate.
Before the system, Arbeitly scaled by adding people. After it, by adding candidates to a repeatable pipeline.
Hard eligibility should stay deterministic.
A strong match must never hide a work-authorisation or language blocker.
Grounding beats eloquent prompts.
The AI could reframe evidence. It could not invent it.
Observability is part of AI quality.
You can’t fix failures you can’t see.
More case studies
All case studiesHave a problem shaped like this one?
A 30-minute call, no deck. Bring the workflow that frustrates you most and we will tell you honestly whether it is worth building.