A Whizz Tech product · the hiring engine

Every CV read.
Every candidate
answered.

Hire hosts your careers page and publishes the job, then screens every application against your rubric — scores with verbatim CV quotes, a ranked top-K, and the interview kit for whoever you advance. $0.05 a CV versus your recruiter's hour.

50 trial credits · 50 CVs screened · wz_test_keys included

hire.whizztech.ai
bash

Scripted replay of a real screening · 1,204 CVs, condensed

Scroll
1,204 CVs screened in 4 minutestop-10 with quoted evidence$0.05 a CV — batch overnight0 fabricated quotes — every line citedunlimited seats on every planArabic natively, not translatednames removed before scoringAI never rejects — humans do1,204 CVs screened in 4 minutestop-10 with quoted evidence$0.05 a CV — batch overnight0 fabricated quotes — every line citedunlimited seats on every planArabic natively, not translatednames removed before scoringAI never rejects — humans do
02The Engine

Eight stages. Zero black box.

Every screening streams its stage telemetry over the API — GET /v1/runs/:id shows what the engine is doing and what it found.

  1. 01 · intake

    Intake — one pipeline, every source

    Career page, embed, email-in, bulk upload — everything lands in one stack. Duplicates are merged by email before anything is counted twice, and every applicant gets an acknowledgment.

    cv_stack

    1,204 applications

    career_page 861 · embed 204 · email_in 96 · upload 43

    38 duplicates merged — same email, two CVs

    11 knockout failures flagged — not auto-rejected

    1,204 acknowledged · 1,204 portal links sent

  2. 02 · parse

    Parse — pages read as images

    CV pages are read visually, not through the text layer. Scanned files, two-column layouts, and Arabic PDFs — which text-layer parsers reliably corrupt — come out as clean structured extracts.

    cv_extract.json — 2 of 1,204

    title Senior Backend Engineer · yrs 7

    skills python · django · postgres · kafka

    layout two-column PDF · lang en

    مهندس برمجيات أول — ٨ سنوات خبرة · بايثون · قواعد بيانات موزعة

    lang ar · parsed natively, not translated

  3. 03 · anonymize

    Anonymize — names removed before scoring

    Name, email, photo, address, and age markers are stripped before any scoring model runs. Measured result: name removal eliminates nearly all demographic bias. Prompting a model to “be fair” does not.

    anonymized_extract — what the scorer sees

    name Rana Khalaf

    email rana.k@gmail.com

    address Al Barsha, Dubai

    photo removed.jpg

    experience kept · skills kept · education kept

    names removed before scoring — the model grades work, not identity

  4. 04 · score

    Score — your rubric, visible math

    Each criterion scores 0–100, pointwise, three shuffled passes aggregated — because single-pass ranking is unstable exactly at the cutoff you care about. The overall is a weighted average. You set the weights.

    criterion_scores — candidate #0447
    backend depthw884
    distributed systemsw992
    postgres in productionw778
    logistics domainw565
    communication en/arw488

    weighted overall 83.6 · 3 passes, order shuffled, aggregated

  5. 05 · evidence

    Evidence — verbatim or it doesn't exist

    Top candidates get quotes from their own CV per criterion, with page references. Every quote is validated against the extracted CV text — a quote that fails verbatim match is dropped, never displayed.

    evidence.json — rank 1, distributed_systems

    "rebuilt order-routing from a Django monolith into 14 services handling 2.3M requests/day"

    page 1 · match verbatim ✓

    2 quotes failed the match this run → dropped, criterion flagged

    0 fabricated quotes — every line cited or cut

  6. 06 · rank

    Rank — re-weight without re-paying

    Scores are stored per criterion, so moving a weight re-ranks the whole pool instantly — zero model calls, zero credits. The math stays on screen: change w9 to w5 and watch who moves.

    ranked — weights edited, 0 LLM calls

    01 Rana Khalaf 91.7 strong

    02 Omar El-Sayed 88.4 ↑2 after distributed w8→9

    03 Lina Haddad 84.9 ↓1

    04 Yusuf Rahman 82.2 ↓1

    re-ranked in 41ms · rubric change written to the decision log

  7. 07 · topk

    Top-K — a recommendation, not a verdict

    You choose K. The engine flags its top K with the receipts attached — and that is where its authority ends. Advancing or rejecting is a human act in the dashboard, logged with who and when.

    top_k — k = 5 of 1,204

    k = 5

    5 gold-flagged · 12 borderline within 4 points — worth a human look

    in_top_k is a recommendation field, nothing more

    the AI cannot reject anyone. That button belongs to people.

  8. 08 · kit

    Kit — the interview, pre-built

    For any candidate you advance: a 30-minute structured interview in six question categories, with probes generated from the CV's actual claims — model answers, scoring rubrics, and red flags included.

    interview_kit — rank 1 · 30 min

    plan 4′ warm-up · 8′ medium · 8′ hard · 6′ scenario · 4′ close

    sections easy · medium · hard · scenario · cv_based · job_based

    probe — CV says "led the migration"
    → scope? team size? what rolled back?

    18 questions · model answers + red flags · 12 credits

03Career page

One script tag.
A careers page
that ranks.

Hosted page or embed on your own domain — either way it's the same pipeline: server-rendered JobPosting schema for Google, a public JSON API if you'd rather build the UI yourself, and an apply flow that acknowledges every candidate and hands them a live status portal.

And the job itself starts from almost nothing. Title, location, seniority, a few skills — the composer writes the full JD in English and Modern Standard Arabic, drafts the screening rubric, and attaches the knockouts. JD generation costs 0 credits, on every plan.

  • Hosted, embedded, or headless via JSON — one pipeline
  • JD in EN + AR — written, not translated
  • Acknowledgment + status portal for every applicant
<!-- One script tag. The careers page renders itself. -->
<script async src="https://jobs.whizztech.ai/embed.js" data-board="falak"></script>
<div id="whizz-jobs"></div>
 
<!-- Your styles, our pipeline. Every application submitted here
lands in the same screening stack as your hosted page —
acknowledged, portal-linked, ready to rank. -->
jd_composer — inputs vs output0 credits

# you type

Senior Backend Engineer

Dubai — hybrid

senior · 5+ yrs

python · postgres · distributed

# you get

JD — full description, EN + AR (MSA)

rubric — 5 weighted criteria, editable

knockouts — work auth, notice period

schema — JobPosting JSON-LD attached

04Interview kits

Thirty minutes,
planned to
the minute.

For any candidate you advance: a structured 30-minute interview across six question categories, each question with a model answer, a scoring rubric, and the red flags to listen for. Not a question bank — questions generated from this job's rubric and this candidate's CV.

The probes are the part nobody else ships: the kit reads the CV's claims and tells you where to press. 12 credits per kit — about a dollar. The nearest tools that interview from the CV start at five figures a year.

  • 6 categories: easy · medium · hard · scenario · cv_based · job_based
  • Probes grounded in the candidate's actual claims
  • Model answers + red flags on every question
interview_kit — Rana Khalaf · Senior Backend Engineer30 min

4

warm-up · easy

8

medium

8

hard + cv_based

6

scenario

4

job_based + close

question

Your CV says you rebuilt order-routing into 14 services at 2.3M requests/day. Which service should not have been split out?

model answer looks like

Has a real answer — anyone who did the work regrets at least one boundary. Specifics about data coupling are the tell.

red flag

Defends all 14. Nobody gets 14 boundaries right.

probe · grounded in the CV

says "led the migration" — probe scope, team size, rollback plan

05Distribution

Publish once. Appear everywhere it's honest to claim.

Job boards in 2026 are gatekept, and most ATS vendors paper over it with the word "multipost". We show per-board status instead — the same badges you see here are the ones in the product. If it says pending, it's pending.

Google for Jobs

live

JSON-LD + Indexing API

Adzuna

live

XML feed

Jooble

live

XML feed

Talent.com

live

XML feed

Jora

live

XML feed

Tanqeeb

live

MENA aggregator

LinkedIn Basic

pending

feed approval in review

Indeed

in progress

ATS partner build underway

Bayt

onboarding

partnership in progress

Wuzzuf

onboarding

partnership in progress

Naukrigulf

onboarding

partnership in progress

Sponsored posts

your budget, passed through at cost

The MENA boards have no open APIs — we're building those partnerships one BD deal at a time, from Dubai. Incumbents can't shortcut that either.

06Compliance

Receipts for
regulators.

AI hiring tools are regulated now — NYC Local Law 144, Illinois' notice rules, GDPR Article 22, the EU AI Act's employment provisions. Most vendors treat that as a legal-page problem. We built it into the data model.

Designed to the shape of those regimes, documented plainly in our AI disclosure. Your obligations vary by jurisdiction — we give you the artifacts, not legal advice.

  • Decision log

    Every screening, score, weight change, and human disposition is written to an append-only log with actor and timestamp. Four-year retention — the California FEHA number, applied everywhere.

  • Human-in-the-loop gate

    The engine recommends a top-K; it cannot reject anyone. Rejection is a human action in the dashboard, and overriding the AI's recommendation is itself recorded as an audit signal.

  • Candidate disclosures

    Jurisdiction-aware notice templates — posting notices, pre-use candidate disclosures — with a record of what was shown, to whom, and when.

  • Evidence-cited scores

    No score ships without its receipts: criterion-level numbers, the weights, and verbatim CV quotes with page references. Explanation requests take minutes, not meetings.

07Pricing

Priced per CV,
not per seat.

One unit: 1 credit = 1 CV screened. An interview kit is 12. JDs are free. Seats are unlimited on every tier — the whole team reads the same evidence.

Starter

$49 /mo

300 CV screens · 10 interview kits

5 active jobs · unlimited seats

≈ $0.163 per CV screened

Growth

Most teams land here

$99 /mo

1,500 CV screens · 60 interview kits

15 active jobs · unlimited seats

≈ $0.066 per CV screened

Scale

$249 /mo

6,000 CV screens · 250 interview kits

50 active jobs · unlimited seats

≈ $0.042 per CV screened

Overage is a posted $0.05per CV. Workable charges $299 and meters your AI. We don't.

Full pricing + calculator
08Start

Stop reading CVs at midnight.

50 credits free — 50 CVs screened with evidence, no card. Post the job today; read a ranked shortlist tomorrow morning.

Keep Moving Forward.
Egypt · UAE · KSA