What shipped.
Dated and specific. If it's listed here, it's live.
- POST /v1/jobs, /v1/jobs/:id/publish, /v1/jobs/:id/screen (202 + webhook), GET /v1/jobs/:id/results?k= — the whole pipeline is scriptable.
- Background work is inspectable at GET /v1/runs/:id with per-stage telemetry — parse, anonymize, score, evidence, rank.
- Webhooks signed per the Standard Webhooks spec: job.succeeded, job.failed, application.received, screening.completed.
- Idempotency-Key on creates — a retried request returns the original run instead of double-charging.
- TypeScript SDK published, generated from the same OpenAPI document the docs render from.
- Pipeline board per job — new, screening, shortlisted, interview, offer — with human dispositions on every card.
- Rubric weights are editable after a screening: re-ranking recomputes from stored criterion scores in milliseconds, zero model calls, zero credits.
- The decision log is visible and exportable: every screening, weight change, and disposition with actor and timestamp.
- Credit ledger line by line, including automatic refunds for failed runs.
- Server-rendered JobPosting JSON-LD plus the Indexing API — hosted career pages surface on Google for Jobs without configuration.
- XML feed network live: Adzuna, Jooble, Talent.com, Jora, and Tanqeeb for MENA reach.
- Per-board status badges in the product — live means live, pending means pending. LinkedIn Basic feed is submitted and in review; the Indeed ATS partner build is underway.
- Six question categories — easy, medium, hard, scenario, cv_based, job_based — each question with a model answer, scoring rubric, and red flags.
- CV-grounded probes: the kit quotes the candidate's own claims and tells the interviewer where to press.
- Generated in English or Arabic, 12 credits per kit, delivered by webhook when ready.
- Hosted career pages with a one-tag embed (embed.js) and a public JSON API for headless builds.
- Apply flow with inline knockout evaluation (deterministic rules, no model), acknowledgment emails, and a live candidate status portal.
- Candidates are deduplicated by email per organization — one person, one record, however many times they apply.
- AI JD composer: full descriptions in English and Modern Standard Arabic from a title, location, and a few skills. 0 credits, every plan.
- Pipeline live: intake → parse → anonymize → score → evidence → rank → top-K → kit, streamed stage by stage over the API.
- CV pages are read as images — scanned files, two-column layouts, and Arabic PDFs parse natively instead of through corrupt text layers.
- Identity fields are stripped before any scoring model runs; criterion scores are pointwise, three shuffled passes, aggregated.
- Evidence quotes are validated verbatim against the extracted CV text — a quote that fails the match is dropped, never displayed.
- The engine cannot reject a candidate. Dispositions are human actions, written to the decision log.
Earlier work — auth, orgs, the credit system — predates this log.