Arbeitly · Product / AI Engineering · Mar–Jul 2026
Automating Job Applications With A Scalable AI System.
How I helped Arbeitly automate candidate onboarding, job discovery, matching, CV and cover-letter generation and application tracking — while keeping humans in control of every final submission.
Block width in the manual row is proportional to time, so the tailoring steps read as the bulk of the work. Timings are a founder estimate rather than instrumentation.
~1,500/day
Jobs ingested from three official APIs
~30 sec
Tailored document generation
~€0.04
Cost per tailored CV
The Engagement
Turning one person’s judgement into a system a team could run.
Arbeitly is a German job-application service. It worked when the founder handled applications himself — he had a strong personal process for finding the right roles, reading the nuance in a description, deciding what experience to emphasise, and tailoring an application without overstating the candidate.
I was brought in after he hired staff to increase capacity. The team could follow the steps but could not reproduce his judgement consistently, and every application still consumed a lot of manual time.
The engagement covered candidate onboarding, job ingestion from official APIs, an eligibility and matching funnel, grounded CV and cover-letter generation, human review, application tracking and observability.
The real challenge was not writing CVs faster. It was turning the founder’s judgement into a system other people could operate consistently.
Client Constraint
The owner could not scale with his team.
Delegating the work made quality inconsistent, and the process still consumed too much staff time. Each application took roughly thirty to forty-five minutes.
What that meant for the business
Application quality varied by employee.
Job selection depended heavily on individual judgement.
Staff could only review a limited number of jobs.
CVs and cover letters were tailored by hand, every time.
More candidates meant proportionally more staff time.
The founder remained the strongest quality-control layer.
Scaling increased cost almost linearly.
The problem was not hiring more people. It was turning the owner’s judgement into a process the whole team could execute consistently.
System Hypothesis
Turn a manual application process into a repeatable system.
I started by structuring the information the founder used implicitly: work authorisation, language level, location, target roles, seniority, salary expectations, industries, experience and the candidate’s own documents — around fifty fields at onboarding.
From there the system could ingest jobs from Bundesagentur, Adzuna and Jooble, decide which roles were even eligible, score the ones worth considering, generate tailored documents from trusted source material, and hand the final decision back to staff.
Eligibility runs as a hard gate before any fit scoring, so a strong professional match cannot mask a work-authorisation, language or location blocker.
What the workflow does
A ~50-field candidate onboarding profile.
Job ingestion from three official APIs into one normalised pool.
Hard eligibility evaluated before fit scoring.
An explainable 0–100 match score with tiers.
The best base CV and cover letter selected per role.
AI tailoring from existing evidence only.
Human review and final submission.
Application tracking from To Apply through to Offer.
AI recommends and prepares. Humans make the irreversible decision.
What Broke In Production
The first version worked — until real data and real users hit it.
The real work started after launch. Candidate data, external APIs, long documents and production failures exposed problems a demo never would.
A pattern emerged quickly: when the system failed, the failure usually looked plausible. A hallucinated metric, a wrong language classification, or a silently missing job could pass unnoticed. Reliability had to come from architecture, not from assuming the model would behave.
Eight failure classes from production. The ones marked silent are the expensive ones — they do not announce themselves.
We learned to separate bad output from silent bad output. The second is far more dangerous.
Engineering The Reliability Layer
I built reliability around the AI instead of trusting the AI to be reliable.
Each failure became a design input. The most important change was architectural: stop asking the model to be perfectly careful, and make entire classes of bad behaviour harder or impossible.
CV generation moved from freeform rewriting to bounded patching against candidate-owned source documents.
What changed
Freeform rewriting → bounded CV patching.
Prompt warnings → explicit grounding constraints.
One model for everything → operation-specific routing.
Silent truncation → visible failure.
Separate ingestion paths → one normalisation pipeline.
Nominal fallback → real cross-provider failover.
Hardcoded prompts → admin-editable configuration.
Invisible production bugs → Sentry, request IDs, deploy alerts and CI.
Assigning each decision to exactly one layer is what made the rest of the system auditable.
The AI could reframe evidence. It could not invent it.
Operating Impact
The same team could handle more candidates without repeating the same manual work.
Job discovery, matching, document preparation and tracking became reusable software workflows. Staff spent more of their time reviewing good matches, handling exceptions and completing final submissions.
The founder estimated the manual process at roughly thirty to forty-five minutes per job. The automated workflow reduced application preparation to roughly one to two minutes of handling time, with document generation itself taking about thirty seconds.
30–45 min → 1–2 min
Handling time per application
~1,500/day
Jobs ingested, 1,000+ active in the pool
~€0.005
Cost per job scored
Before
After
Judgement
Lived in one person
Rules, prompts, tiers and workflows as configurable software
Job discovery
Manual search
Three official APIs into one normalised pool
Eligibility
Mixed in with fit
A hard gate, separated from weighted fit
Documents
Every application rebuilt by hand
Generated from trusted base evidence
Humans
Did repetitive production work
Review, exceptions and submission
Tracking
Manual
To Apply → Applied → Interview → Offer
Before the system, Arbeitly scaled by adding people. After it, by adding candidates to a repeatable pipeline.
On these numbers. Timings are founder estimates rather than instrumented measurements, and per-step costs are approximate. They describe the shape of the change, not an audited benchmark.
What This Taught Me About Deploying AI
The biggest lesson was deciding what AI should — and shouldn’t — control.
This started as an automation problem and became an architecture problem. The question was not “where can we use AI?” but which decisions are safe to automate, which need structure, and which should stay with a person.
What I’d do differently next time
Hard eligibility should stay deterministic.
Source-of-truth grounding matters more than eloquent prompts.
AI should degrade gracefully, not fail autonomously.
Prompts and weights should be versioned and configurable.
Observability is part of AI quality, not separate from it.
Low-confidence outputs should route to stronger models or to humans.
The feedback loop should close from match → application → interview → offer.
This was never about finding the perfect model. It was about building enough structure around imperfect models that they could reliably do real client work.
FAQ
Questions a technical interviewer usually asks.
Why not use one AI score for matching?
Eligibility and fit are different problems. A candidate can be a strong professional match and still be unable to take the job because of work authorisation, language or location. Hard gates stayed deterministic; fit remained weighted and explainable.
Why keep final submission manual?
Submission is irreversible and employer portals are inconsistent. The system prepared the package, but a human remained responsible for what was ultimately sent.
What was the most important production failure?
Hallucinated candidate facts. It forced the architecture away from freeform generation and toward bounded edits grounded in candidate-owned source documents.
What would you improve next?
Golden-set evals, prompt versioning, model and version stamps, better source freshness, stronger cross-source deduplication, health monitoring, and a closed feedback loop from matching score to interview and offer conversion.