An email becomes an application
Thanks for applying to Acme
We received your application for the Frontend Engineer role in Berlin and will be in touch soon.
Ollama · on your machine
- Role
- Frontend Engineer
- Location
- Berlin
Watch it move — with real signal
- Confirmation email
Applied
Detected from the confirmation email and slotted in automatically.
- Reply detected
Under review
Soft rejections like "we'll keep your profile on file" get caught right here.
- Scheduling email
Interview
Scheduling emails move it forward on their own.
- Offer detected
Offer
And if a closed one reopens, ApplyX reopens with it.
Recover the employer Indeed hides
Indeed's apply-confirmation emails never name the company. So ApplyX looks it up.
Employer
Scraping message center…
Stats that actually mean something
Applied
100% of total
Replied
75% of previous stage
Interview
67% of previous stage
Offer
25% of previous stage
Applications
8Reply rate
Interviews
4- Active4
- Rejected2
- Offer1
- Ghosted1
Local where it counts
Local by default. Self-hosted, not a line leaves your machine. The public demo chat runs its reasoning through a swappable provider (OpenRouter, OpenAI-compatible) for performance — same prompts, same validation. Even there, the semantic-search embeddings stay local on Ollama.
The posting finds itself
From the links in your emails, ApplyX works out the company's applicant system, pulls its open roles, and attaches the matching posting to your application — automatically, while scanning.
Thanks for your application! You can track its status here:
boards.greenhouse.io/acme- Frontend Engineer0.82
- Backend Engineer0.28
- Product Designer0.11
Fuzzy-matched on the role title, with (m/f/d) and dashes normalised. Below 0.60 nothing is attached — the wrong posting is worse than none.
- Build and maintain React frontends
- Evolve the design system
- Code reviews and mentoring
- Backend EngineerBerlin
- Product DesignerRemote
- Engineering ManagerMunich
ATS-first via the public jobs API, otherwise extracted from the career page — cached per company for a day.
Pages behind a login (like LinkedIn) are never scraped. When ApplyX detects a login wall, you just paste the URL or the posting text — extraction takes it from there.
JS-heavy postings get rendered by a headless browser (Playwright) only on demand — never in the scan loop, always account- and ToS-safe.
Answers, not filters
Ask your applications in plain language. Instead of setting filters, you get a sentence plus a typed block — and the numbers come from the code, not the model.
3 rejections — out of 11 applications.
stat6 active, 3 rejected, 2 in interview.
breakdown4 active applications.
list- AcmeIn review
- Northwind LabsInterview
- GlobexApplied
- InitechInterview
Of 8 applications, one reached an offer.
funnelNorthwind Labs — in interview, last active 3 days ago.
detailTwo companies named figures.
messagesNorthwind Labs
The salary range is 65–80k, depending on experience.
Acme
We'll discuss the exact range in the first call.
The question is embedded locally; the code pulls the semantically nearest emails by cosine similarity.
- 1Classify intentModel
Count, list, detail or emails — plus any filters from the question.
- 2Gather factsCode
Code filters, counts, groups and retrieves via local embeddings — deterministically.
- 3Phrase a sentenceModel
The model pours the finished facts into one sentence.
- 4Emit a blockCode
The server sends a typed block, the frontend renders it.
The model never counts — a 7B model miscounts, especially in German. It only classifies the intent and phrases the answer. Everything countable is deterministic code.
The assistant
What needs attention right now — and what there is to learn from your own data.
Action queue
Reply needed, decide an offer, follow up, or revisit a soft rejection — sorted by urgency.
Weekly digest
A short summary of your funnel plus concrete recommendations — from exact numbers, not a hunch.
Rejection patterns
Recurring themes across your rejections — by stack, work mode, and how far you got.
Urgency
Emails that need a timely reply get flagged — including any stated deadline.
Duplicate detection
Semantic embeddings of “company + role” catch the same application, even worded differently.
Enrichment
Seniority, work mode, salary and tech stack — extracted automatically from the emails.
See it for yourself
A public demo, reset on every visit. No account needed.
