Back to selected work
PROJECT / 06

IntelliApply

FULL STACK / RELEVANCE RANKING
Live application

From who you are to what comes next.

Full stackBackendAI / ML
THE CONTEXT

Help a candidate turn collected job postings into a relevant shortlist.

THE KEY DECISION

Rank textual relevance with TF-IDF and cosine similarity; retain user decisions.

THE RESULT

An authenticated resume-to-matches workflow, verified end to end by the project owner.

TAKE A CLOSER LOOKSELECT A STAGE ↓
SCROLL TO TRACE. SELECT TO EXPLORE.

Follow the connections as you scroll, or select a stage to see what happens there.

HOW IT WORKS / A SYSTEM IN THREE MOVEMENTS
01

Extract the profile

PDF/DOCX resume data becomes structured skills and experience.

02

Compare the openings

TF-IDF and cosine similarity compare the candidate with collected jobs.

03

Keep the shortlist

Ranked results and interested/applied/ignored states live in the dashboard.

THE SHORT STORY

A working full-stack job discovery application connecting resume parsing, job collection, relevance ranking and personal job-state tracking.

PROJECT TYPE

Full-stack product engineering

FOCUS

Full stack + Backend + AI / ML

STATUS

Live application

/01

The question.

A growing list of openings is not a useful shortlist. The application needs to compare a candidate’s skills and experience with collected postings, then retain that candidate’s decisions over time.

/02

The approach.

A React/Vite interface uses Neon Auth with a FastAPI backend and PostgreSQL. Resume text feeds the candidate profile; job sources feed normalized openings. TF-IDF vectors and cosine similarity rank the matches, while background refresh and matching tasks keep the dashboard current.

/03

What came out of it.

The authenticated application connects resume context to ranked job results, match counts and refresh workflows. Its end-to-end flow has been verified by the project owner. Match scores describe textual relevance and remain distinct from hiring outcomes.

A FEW DETAILS WORTH A CLOSER LOOK
01

A concrete matching method

The matching implementation uses TF-IDF and cosine similarity. The illustration shows relative ordering, with no invented percentages or accuracy claims.

02

Identity reaches the API

Neon Auth/Better Auth sessions are verified by the backend before accessing candidate-specific records.

03

Discovery is a background workflow

Collection, refresh and matching support the product beyond the initial upload. Job tracking preserves the user’s decisions.

Under the surface.

Experience
React · Vite · TypeScript
Identity & persistence
Neon Auth / Better Auth · PostgreSQL
Matching & collection
FastAPI · resume parsing · scikit-learn · scheduled tasks
SCOPE & LIMITS
  • Ranking is a relevance heuristic, not a guarantee of hiring outcomes.
  • Availability of collected postings depends on external sources.
  • Authenticated end-to-end verification is user-reported; the portfolio does not invent dashboard metrics.
KEEP THE CURIOSITY GOING
NEXT PROJECT / 07

Recallry

Have an idea of your own? Let’s talk