Skip to content
All work

AI product · paid client

Freelance

AI Job-Matching & Application Platform

An end-to-end AI product, delivered for a paying client.

Role
Freelance — end-to-end delivery
Access
Demo available on request
  • GPT parsing
  • Matching & scoring
  • Next.js
  • Automation

Problem

Job hunting is a fragmented grind: listings scattered across many platforms, every application needing a tailored CV and cover letter, and no honest signal of which roles are actually worth the effort. A paying client wanted to compress that entire funnel into a single AI product — from discovery to a submitted, tailored application.

My role

Freelance — end-to-end delivery. I was the sole engineer: product shaping, CV parsing, the matching and scoring engine, generation, the application workflow, notifications, and the Next.js application around it all.

Approach & architecture

A user builds a profile manually or simply uploads a CV — GPT-based parsing extracts structured profile data automatically. The platform aggregates listings across multiple sources, scores each role against the profile, and explains why it's a fit before generating the application materials.

End-to-end job-application pipeline
  1. 1

    Aggregate

    Pull job listings from across multiple platforms into one place.

  2. 2

    Build profile

    Entered manually, or auto-extracted from an uploaded CV via GPT parsing.

  3. 3

    Match & score

    Rank every role against the profile and compute a relevance score.

  4. 4

    Explain the fit

    Surface a job summary, skill-match analysis and the candidate's skill gaps.

  5. 5

    Generate

    Produce tailored cover letters and applications grounded in both profile and listing.

  6. 6

    Notify & track

    Alert on high-match roles and nudge incomplete applications through the workflow.

The relevance score is explainable by design — users see the matched skills and the gaps, not a black-box number.

Hard parts

  • Parsing that generalises. CVs arrive in wildly inconsistent formats. The extraction had to degrade gracefully and still produce a usable structured profile.
  • A score users trust. A relevance number is only useful if it's explainable. Pairing it with concrete skill-match and skill-gap analysis turned a black box into something actionable.
  • Tailored, not generic, generation. Cover letters are grounded in both the profile and the specific listing, so they read as written for that role — the opposite of a mail-merge.
  • Throughput and cost. Aggregating and scoring many listings meant being deliberate about batching and model usage to keep latency and LLM cost in check.

Impact

  • Shipped a complete, working AI product for a paying client — discovery through to a tailored, submitted application.
  • defensible metric: active users / applications generated / time saved per application.
‹FILL: a sentence from the client — what did shipping this unlock for them, in their words?›
‹FILL: client name›· ‹FILL: client title, company›

A short demo walkthrough is available on request — add /public demo video or a Loom link.