When a rejection lands, find out why.
Hiring almost never tells you what went wrong. The rejection loop does. Mark the job as denied, pick the stage it happened at, and the AI reads the JD plus your resume plus your keyword match and gives you three things: likely gaps, specific resume issues, and edits to make next time.
How to use rejection analysis.
4 steps. Each one runs in seconds. Scroll in order.
- 01
Mark the job as denied
One click from the tracker. A small form asks the stage (no response, after application, after phone screen, after interview, after offer) and lets you type a sentence about what you think happened.
- 02
The AI reads the whole record
JD, key skills, tailored resume, keyword match, any notes you left. It also reasons about the stage. A rejection after a phone screen means something different than a rejection after radio silence.
- 03
Get three outputs
Likely gaps (skills the JD hunted for that your resume did not surface). Resume issues (phrasing or framing that may have dropped you). Recommendations (concrete edits for next time, not vague advice).
- 04
A follow-up email draft arrives with it
Tuned to the stage you reached. A nudge after silence reads nothing like a "thanks for letting me know" after a final round. The generator writes the draft; you edit it before sending.
One real analysis, abbreviated
This is the feedback hiring usually refuses to give. One rejection becomes signal for the next five applications.
Senior Frontend role at a fintech. Stage reached: phone screen, then denied. Keyword match at time of application was on the lower end. Missing: GraphQL, Storybook, micro-frontends, A/B testing. User note: "I think it was the GraphQL question."
Likely gaps: 1. GraphQL appears in the JD and you flagged it in the call. The resume lists REST APIs only; adding a bullet about GraphQL usage, even basic, would have unblocked this. 2. Micro-frontends shows up in the JD too and is high-signal for a team explicitly rearchitecting. Resume issues: - Frontend bullets mention "APIs" generically. For fintech JDs, be specific. - No bullet ties your work to compliance or a regulated context. For fintech JDs that reads as a gap even when the experience exists, so surface it explicitly. Recommendations: - Add one bullet naming GraphQL usage and the scale of it. - Restore the "regulated environment" line from your master. - For the next fintech posting, run the tailor again with these two edits baked into the master.
The mechanics nobody hides.
You should be able to tell how a feature works before you trust it with your job search.
Reads the full record, stage first
The analysis prompt carries the job description, the resume you submitted, your keyword match, and your notes, and the rejection stage frames how they get read. Gaps have to be grounded: a likely gap names the JD phrase and says whether your resume covered it.
Stage-aware prompts
A rejection after submission is filter-driven. A rejection after phone screen is usually signal-in-the-conversation. A rejection after final round is usually close-calls or fit. The prompt carries the stage as a first-class field so the output matches.
Feeds shared insights
If you have opted in to shared insights, the anonymized outcome data (job title, experience level, keywords present, stage) goes to the pool. No resume text. No company name. The opt-in is explicit on your profile page.
Counts against your monthly AI ops
Each rejection analysis uses one of your three monthly AI operations on the Free plan, shared with resume tailoring and cover letters. Pro and Pro Weekly unlock unlimited AI ops on every job.
What it deliberately does not do.
Honest limits read as trust signals. Hiding them does the opposite.
- We cannot tell you the real reason you were rejected. Hiring is a black box. We give you a high-probability read based on the data we have.
- We do not send feedback to the company on your behalf. Everything lives in your tracker.
- Interview transcripts are never sent to this analyzer or logged to shared insights. We stay out of the conversation content.
Common questions.
If your question isn't here, email support and you'll hear back from the founder.
Is this a guarantee of why I was rejected?
No. It is a probability read. The AI reasons from the JD, your resume, the keyword match, and the stage. It names the most likely causes. Real hiring decisions involve factors we cannot see.
What if I do not know the stage where I was rejected?
Mark it as "no response" if you got silence, or "after application" if you are not sure and only got the standard rejection email. The analysis adjusts its reasoning.
Do you share my data with other users?
Only if you explicitly opt in to shared insights, and even then only anonymized metadata. Job title, experience level, keywords present, stage reached. No resume text, no company names, no personal identifiers.
Can I use this without generating a tailored resume first?
You can, but the analysis is thinner. With a tailored resume the AI can reason about specific bullets. Without one it can only reason about the master vs the JD.
Does it suggest following up with the recruiter?
Sometimes. If the stage and context make a follow-up reasonable, the analysis suggests it and the draft generator writes the email. If not (final-round rejection after explicit feedback, for example) it does not push.
Pairs with
Follow-up emails
A follow-up email written for the stage you are actually at, not a generic template. Copy, edit, send.
Shared insights
Anonymized outcome patterns from the whole opt-in network, not just your own history.
Keyword match breakdown
Matched and missing keywords named exactly. No opaque score, no black-box percent.
Stop reading about it. Run it on a real job.
Create a free account in under a minute. First job tracked, first tailored resume, and first keyword breakdown all happen inside the onboarding flow.
No credit card · 2-minute setup · Cancel anytime