0saas

Job ticket 763677 · consumer · assay bench · no subscription

Scan six costs US$49.95. Pasting two texts was always free.

Jobscan's own plan chooser caps Free at 5 scans a month; unlimited runs US$49.95 month-by-month, or US$29.98 a month on the US$89.95 quarterly card. This job ticket hands the scan to prompts you own: paste the posting and your resume and the bench stamps every requirement PRESENT, WEAK or ABSENT with the proving line quoted; run the weave pass and claimable keywords land in real quoted lines. Nothing uploads, nothing stores, nothing scores you with a magic number.

Jobscan is a trademark of its owner. This is an independent, unaffiliated comparison built on Jobscan's own published pricing material, linked below and re-read every thirty days.

Paste both documents, press run the assay, and the tags hang in order — each requirement with its verdict and the line that earned it, preferred and required flags where the posting marks them. — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Jobscan. Every Jobscan figure on this page comes from the linked pricing page, read 2026-09-27.

The prompt pack

Two prompts, each mapped one-to-one onto a Jobscan feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Jobscan's own pricing page says

Read from app.jobscan.co/plan on 2026-09-27. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What Jobscan meters — read from its plan chooser on 2026-09-27 — vs this job ticket. — verified 2026-09-27
The jobJobscan FreeThis pageThis page + a free-tier model
Scans5 per monthUnlimited pastes, free-tier modelsundefined
Keyword verdictsMetered per scanEvery requirement stamped with its quoted line, US$0undefined
Resume rewritesInside paid tiersThe weave pass: quoted before/after, nothing inventedundefined
Scan history · application trackerThe account featuresNot displaced — your applications stay where you track themundefined

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Jobscan wins.

A full posting assay

Every requirement stamped PRESENT / WEAK / ABSENT with its proving line

Honest keyword weaves

Quoted line surgery for skills your resume already evidences

A scan report you keep

CSV and Markdown downloads for your application file

No real ATS submission

The bench models keyword matching; it is not the recruiter's software

No magic compatibility score

Verdicts carry evidence; they refuse to become a percentage

No stored resumes

Each visit starts empty; your documents live in your files

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Assay the posting · jobscan-keyword-assay v1.0.0 · best ally: Groq Cloud — free tier · llama-3.3-70b-versatile

Replaces: The six-dollar scan itself: every skill and keyword the posting demands, stamped PRESENT, WEAK or ABSENT against your pasted resume — with the line that proves it.

Why this model: An assay needs exacting extraction of the posting's skill set, then honest matching with quoted evidence per verdict; a free 70B at low temperature keeps both lists faithful and refuses charitable matches. Fallback ally: Google Gemini API — Free usage tier.

System prompt (1576 chars):

You run the assay bench: the reader pastes a job posting and their resume. You assay every skill, tool, qualification and domain keyword the posting asks for, and stamp each tag with a verdict against the resume — PRESENT (clear evidence), WEAK (implied but unprovable as written), or ABSENT (nothing to point at). Each tag carries the proving line from whichever document supplies it, quoted verbatim.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words),
  "subhead": string (max 20 words),
  "items": [
    { "title": string (the requirement exactly as the posting phrases it; body: the stamp (PRESENT / WEAK / ABSENT), then the proving line quoted verbatim with its source (posting or resume) named, then <= 10 words on the gap), "tag": string (one of KEYWORD), "body": string }
  ],
  "notes": [ string (one short footnote per run-wide decision) ]
}

Hard rules:
1. One row per distinct requirement in the posting — required and preferred items both assayed, with the preference named.
2. PRESENT requires an explicit resume line; synonyms count only if the posting's own family of terms is quoted.
3. WEAK is for adjacent skills or unquantified claims; the note names what would strengthen it (a number, a project).
4. Nothing scores or ranks by magic numbers — no percentage match is ever printed.
5. Requirements implied by the resume but not asked in the posting are excluded; the assay serves this posting only.
6. Write commentary in the language of the pasted documents.

User message template:

Assay my resume against this posting. The job posting: {{posting}} My resume (paste): {{resume}}

Variables:

  • {{posting}} — The job posting (paste) (max 5000 chars) sample data shipped with the tool
  • {{resume}} — Your resume (paste) (max 5000 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.2 · max 2400 output tokens · responseMimeType application/json · budget ~1,600 in / ~1,000 out · cost per run: 1 request against Groq's free daily quota; the relay floor needs no key at all.

Prompt 02 — 2. Weave the claimable keywords · jobscan-weave-pass v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash

Replaces: The honest half of optimization: for every keyword you can genuinely claim, the exact resume lines rewritten to carry it — quoted before and after — nothing invented.

Why this model: Targeted line surgery needs the full resume in view with a strict do-not-invent contract and before/after quoting; a free Flash at low-mid temperature edits only where the evidence already lives. Fallback ally: Groq Cloud — free tier.

System prompt (1452 chars):

You are the bench's weaver: given the resume and the list of WEAK/PRESENT keywords from the reader's assay, you propose exact line rewrites that let claimable keywords shine — each rewrite quotes the original line, then the woven line. ABSENT keywords stay absent: the bench never weaves skills the resume cannot evidence.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "title": string (max 8 words),
  "subhead": string (max 20 words),
  "items": [
    { "title": string (WEAVE: title is the keyword; body: the original line quoted, then the rewritten line quoted, then <= 8 words on what changed. LEAVE: the keyword and why it must stay out (absent, or would require invented claims)), "tag": string (one of WEAVE | LEAVE), "body": string }
  ],
  "notes": [ string (one short footnote per run-wide decision) ]
}

Hard rules:
1. Every WEAVE uses only facts already in the resume; instruments, numbers and employers are never added.
2. Rewrites change phrasing and placement, not substance — a woven line must still survive an interview follow-up.
3. At most one keyword is woven per line; stuffing one line with three terms is flagged in the note.
4. Each LEAVE names the honest path (take the course, do the project) in <= 10 words as advice, never as a resume line.
5. Quotes are character-exact; a paraphrased 'original' voids the weave.
6. Write in the language of the resume.

User message template:

Weave these keywords into my resume honestly. Claimable keywords from my assay (PRESENT/WEAK list): {{keywords}} My resume (paste): {{resume2}}

Variables:

  • {{keywords}} — Claimable keywords (max 400 chars) sample data shipped with the tool
  • {{resume2}} — Your resume (paste) (max 5000 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "columns", "rows" ], "properties": { "kicker": { "type": "string" }, "title": { "type": "string" }, "columns": { "type": "array", "minItems": 2, "maxItems": 6 }, "rows": { "type": "array", "minItems": 1, "maxItems": 60 }, "notes": { "type": "array" } } }

Decoding: temperature 0.4 · max 1800 output tokens · responseMimeType application/json · budget ~1,200 in / ~800 out · cost per run: 1 request against Gemini's free daily messages; the relay floor needs no key at all.

Questions worth asking before you cancel

Is two-text comparison really what a paid scan does?

For the keyword-matching core, yes: parse the posting's requirements, look for evidence in the resume, report. This bench does that with quoted proof per verdict. What a hosted scanner adds — connectors, history, trackers — is convenience, and the scope panel declines it honestly.

Why no percentage match score?

Because a percentage pretends precision no pass can have. A stamp pinned to a quoted line is auditable; a number is not. Recruiters interview evidence, not scores.

Won't weaving keywords get me past an ATS but into trouble?

Only dishonest weaving does that, and this bench refuses it: rewrites use only facts already in your resume, one keyword per line, originals quoted. Anything ABSENT renders as a LEAVE note with what to go learn.

Where did US$49.95 and 5 scans come from?

From Jobscan's own plan chooser, read 2026-09-27 — the public /pricing page refused the fetch with an embed block, so the in-app plan screen is the incumbent's own live pricing evidence. Both billing figures and the free limit are in the linked artifact.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger