Elbi
Recruitment

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 challenge

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
What we built

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
What didn’t go to plan

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.

The outcome

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.

What we learned

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.

Have 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.

WhatsApp me