AI Product
JobEmber. AI Job Application Agent
Automates job search and application. AI agents discover jobs, research companies, tailor CVs and cover letters in the applicant’s own voice, and track everything through a five-stage web interface.

Context
Most job search advice focuses on finding roles. The hours actually go into assembling each application. For every position: research the company, match your CV to the job description, write a cover letter that sounds like you, fill the form, track where you applied. Two to three hours per application is normal for anyone doing it properly.
I own this product, designed it, and built it with Claude Code alongside Denys H, who handles security and infrastructure.
Outcome
- 87.5%Reduction in time per application in beta
- 12015 minTime to complete one application
- 20+Agents in the production pipeline
- 3 to 5Testers applying to real jobs throughout
Problem
The mechanical assembly work dominates the process, and it crowds out the part that actually needs a person. Deciding whether a role is worth applying to takes judgment. Reformatting a CV for the fourth time this week does not.
People applying at volume end up doing the second thing until they have no attention left for the first.
How might we
remove the mechanical burden of job searching so people can spend their time on the decisions only they can make?
Solution
Agents search platforms, profile employers, and produce application documents that sound like you wrote them, because the generation is constrained by samples of your own writing. A detection pass runs on every output to catch anything that reads as machine-made before it reaches a recruiter. Everything flows through a five-stage dashboard; a Chrome extension pulls in positions you find while browsing. The product is multi-tenant and launched now.
Beta testing brought application time down from around 120 minutes to around 15. The fifteen minutes that remained were the part that actually needed a person.
Research
What the competitors got wrong
Before writing a line of code, I ran a market research pass. Tools like LazyApply, Sprout and Sonara all run the same play: spray applications at volume with minimal customisation and no voice matching. That approach produces a lot of applications and very few conversations.
The niche we found was the opposite end: fewer applications, higher quality, output that actually sounds like the person sending it. That gap drove every product decision that followed.

Architecture
From three terminal scripts to a product
JobEmber started as three scripts I ran in a terminal for myself: job-searcher, employer-profiler and cv-adapter. The terminal version worked and was unusable by anyone else.
It grew into more than twenty agents triggered from a web interface, covering discovery, research, tailoring, scoring, AI-detection screening and application tracking. The product is multi-tenant and in production.

Design decisions
The dark version failed a contrast check
The first interface was dark, and it failed WCAG contrast in several places, which I found in a check afterwards. The whole thing had to be rebuilt.
The rebuild validated the five-stage architecture at the same time.

Design decisions
Why the product is cream and not dark
The warm cream palette came out of user research. Job seekers kept using the same word for the experience, and the word was “exhausting”. A dark, dense, high-contrast tool aimed at people already running low on attention adds to that.
I read what exists on emotional design in high-stress contexts and moved the whole palette to warmer tones that reduce perceived cognitive load.

UI/UX redesign via Claude Code
Implementation ran through Claude Code. Position colour-coding by geography made the job list scannable at a glance. A template selector let users choose between Standard and ATS document output per application. Sorting and filtering gave the applications tracker real utility. A price calculation surface made the cost per action visible, which matters once the product moves toward a paid tier. Each feature came directly from something testers couldn’t do without.

Design decisions
Voice matching
A hiring manager reads a cover letter and then speaks to the candidate in a screening call. When the two do not sound like the same person, it creates doubt that is easy to notice.
The voice-capture layer analyses a user’s own writing samples for sentence length, vocabulary, formality and rhythm, then constrains generation to match. This is the same problem my voice-applier skill solves, applied inside a product.


Design decisions
Two features, one added and one removed
Testers kept losing track of what they had sent. Past Applications stores every CV and cover letter version submitted, with filter pills for stage, company and date.
The Evaluator went the other way. It was a one-shot assessment offering learning recommendations, and people actively job-searching did not want it. An Experience tracker replaced it, holding verified project and education data that feeds CV generation. Removing a feature I had built was the right call and it did not feel like one at the time.


Design decisions
Chrome extension
Roles turn up while browsing, on niche boards and company career pages that no aggregator indexes. The extension captures those positions and pre-fills application form fields. It also reads the application form in real time, so Q&A fields are pre-populated from the user’s profile by the time they reach Stage 5.

Testing
Three to five testers used JobEmber for real applications throughout development, which is different from testing a prototype. Their feedback arrived as actual problems: a cover letter that did not sound like them, an application they could not find again, a feature pulling attention away from the work.
The filter pills, the geographic colour coding, the voice settings and the Evaluator removal all came from watching that.
Reflection
Application time fell from roughly 120 minutes to roughly 15, an 87.5% reduction, which means eight applications in the time one used to take. The remaining 15 minutes hold the judgment work, and that is where they belong.
Denys H runs security and infrastructure. Marketing is the current phase I’m working on.
