ASafariMResuMatch
Project direction

The ResuMatch journey

An outcome-led view of what has shipped, what is mid-stream, and where the AI-tailoring tool is heading. ResuMatch is an experimental portfolio showcase — every milestone is complete only when its exit evidence is demonstrated, not when its code merges.

5 of 8 shipped

Delivered & in progress

M1–M5 · docs/business-plan.md

  1. M1Shipped

    Platform & delivery foundation

    A deployable Next.js app on the platform: Hub SSO, its own PostgreSQL with an opaque platform user id, a validated env contract, redaction-by-construction logging, an append-only audit table, and CI. Carried over unchanged from the pre-pivot product.

    infra
  2. M2Shipped

    Candidate profile & CV pipeline

    Private document storage with byte-level type sniffing and a 10 MB cap, malware scanning as a hard gate, local PDF/Word/text extraction, an immutable lineage-linked profile with no field for any protected attribute, and one-click GDPR access + erasure. Carried over unchanged — this is exactly what a CV-tailoring tool still needs.

  3. M3Shipped

    Pivot: single-URL job fetch

    Replaced the authorized-source ingestion pipeline (which needed a licensing agreement per job board) with a single-URL fetch: a candidate pastes one job posting URL, ResuMatch fetches exactly that page under the same SSRF-resistant posture (public HTTPS only, no-redirect, size-capped, timeout-bounded), extracts readable text, and shows the candidate what it found before anything else happens.

    pivot
  4. M4Shipped

    AI CV tailoring

    A tailoring pipeline built around one hard guarantee: AI rewords and reprioritizes a candidate's summary, headline, and experience bullets — it never invents an employer, a date, a degree, or a skill the candidate did not already list. Enforced structurally: provider output is merged with the source profile in code, not trusted verbatim. Fixture-first, with a deterministic $0 provider as the only one CI exercises; real model adapters wait on the JM-005 sign-off gate.

    ai
  5. M5Shipped

    Print-ready preview & one layout

    One clean, print-optimized layout rendered from the tailored content, with a Download PDF button that uses the browser's own print dialog — no new server-side rendering dependency for v1. `templateKey` already exists as a field so a second layout is additive later, not a schema change.

What's next

More layouts, real model providers, production readiness

  1. M6NextPlanned

    More layouts & richer editing

    A second and third visual template to choose between, and an editable review step before the final preview — today's flow shows the AI-tailored content read-only; letting a candidate hand-adjust a bullet before printing is the natural next step.

    ux
  2. M7NextPlanned

    Real model providers

    OpenAI and Anthropic tailoring adapters, gated the same way the pre-pivot product gated real-model evaluation: never selectable in a deployed environment until the JM-005 classification sign-off is recorded and a key is present. The fixture provider stays the only one CI ever exercises.

    ai
  3. M8LaterExploring

    Production readiness & privacy operations

    A DPIA decision for the AI-tailoring flow specifically (a job page's text and a candidate's rewritten resume both pass through a model call), operational deletion/access workflows, an incident runbook, and load + recovery evidence — the bar for operating at pilot scale.

    privacyops