Skip to content
CogniYukti

AI · writing

A generated letter is easy. A letter that is true about this person is not.

Every tool in this category will draft you a rejection. Most write the same one for everybody, which is why candidates can tell, why they post it, and why teams quietly stop sending them at all.

A draft here is written from what is actually on the record — the rounds they did, what the panel found, the requirement that decided it. And when it cannot be produced, something still goes out today.

  • Grounded in this record
  • A fallback that still sends
  • Nothing leaves unapproved

A letter · and what it was written from

“Thank you for the time you gave us across two rounds. The panel was consistent that your platform work is strong. On this role the gap was regulated-domain exposure, which we had marked essential…”

  • Applied 14 Feb · Senior data engineer
  • Interviewed round 2 · panel of three
  • Gap recorded: regulated-domain exposure

If the draft cannot be produced, a deterministic version is sent instead. The failure mode is a plainer letter, never a blank page and never an invented reason.

Illustrative

The problem, specifically

The interesting question is not the good draft. It is the bad day.

Every demonstration of generated text shows you the left-hand version below. The case that decides whether you can put this in front of a candidate is the right-hand one — the model is unavailable, or returns something malformed, and a hundred letters still have to go out today.

Most products answer that with a held queue and a retry. Which means the letters go out three days late, in a batch, which candidates also notice.

Written from the record

“Thank you for the time you gave us across two rounds. The panel was consistent that your platform work is strong — the payments migration in particular. On this role the gap was regulated-domain exposure, which we had marked essential at the outset…”

  • Two rounds
  • Panel note · platform
  • Gap · regulated domains
Only true about this candidate, on this role · Illustrative.

When it cannot be produced

“Thank you for the time you gave us across two rounds. We have decided not to progress your application for this role. The deciding factor was regulated-domain exposure, which the role requires…”

Built deterministically from the same record. Never a blank page, never a held queue, never a reason that was invented to fill the gap.

Plainer, still true, still sent today · Illustrative.

What grounds it

Specific because the record is specific, not because it was told to sound warm.

The difference between the two letters above is not tone. It is that one of them names the migration the panel actually praised and the requirement that actually decided it, because both were recorded at the time rather than reconstructed afterwards.

That is only possible where the reading layer and the interview layer already put them on the record — which is why this page is the fourth of five rather than a feature on its own.

How generated text fails

Three failures, and only one of them is the model's fault.

The letter that fits anybody

Generated from the rejection reason and nothing else, so every candidate rejected for the same reason receives the same paragraph.

Two candidates from the same company compare letters and find them identical, including the sentence about their “particular strengths”.

The invented kindness

Asked to sound warm with nothing specific to be warm about, it fills the gap — with praise for work nobody recorded.

A letter compliments a candidate's “leadership of the migration”, which no interviewer mentioned and which they did not do.

The queue that waits

The draft cannot be produced, so the letter is held for a retry, and the retry is held too.

Ninety rejections go out on Thursday in one batch, eleven days after the decisions were made.

The guarantees

Three rules that make generated text safe to send.

  • A draft, never a send

    Nothing leaves without somebody approving it. What is saved is the blank page, not the judgement — and that distinction is the reason legal teams sign this off.

  • Suppressible by reason

    Letters can be switched off for the workspace, and held back for particular rejection reasons. There are reasons you do not put in writing, and the product should not make you.

  • It cannot invent the reason

    The gap it names is the gap that was recorded against the requirement. If nothing was recorded, the letter says less rather than making something up to sound considered.

What you receive

A draft, its grounds, and a version that sends regardless.

  • The record it was written from

    Which rounds, which panel note, which requirement decided it — shown with the draft, so the approver can check the claim before the candidate reads it.

  • A deterministic fallback

    Plainer, built from the same record, sent on the same day. Never a blank page and never a held queue.

  • An approval step that is real

    Nothing leaves unapproved. What is saved is the blank page, not the judgement — which is the distinction that gets this signed off.

  • Suppression by reason

    Switched off for the workspace, or held back for the rejection reasons you do not put in writing.

Objections first

What a talent lead asks before letting this near a candidate.

Will candidates know it was generated?

They will know it was about them, which is the thing they actually notice. A letter that names the round they did and the requirement that decided it is not the letter anybody screenshots.

What if we do not want to give a reason at all?

Then you do not. Suppression is there for exactly that, per rejection reason, and switching letters off entirely is a setting rather than a conversation with us.

What happens when the model fails?

A plainer letter, built deterministically from the same record, sends anyway. Never a blank page, never a held queue, and never a reason that was invented to fill the space.

Does it write job descriptions too?

It can draft one, and we would rather you judged us on the reading layer than on that — drafting a requirement is the easiest thing in this category to demo and the least load-bearing thing in the process.

Can we edit the drafts?

Every one, before it goes. The approval step is not a formality; it is where the judgement stays.

Book a demo

Turn the model off and watch what sends.

The demo worth having is the one where something fails. Ask for that one.

  • Show me a letter that could only be about this candidate
  • Break it, and show me what goes out instead
  • Suppress a rejection reason and show me no letter went
  • Show me the approval step, and who holds it