Job Hunter AI
Job discovery, matching, and application intelligence platform
An AI-assisted job discovery and intelligence platform: discover and normalize listings, match candidates to roles with deterministic scoring, analyze opportunities, track applications, and keep follow-ups moving.
- Status
- Functional Prototype
- Category
- AI
- Year
- 2025
- Primary stack
- Next.jsTypeScriptSupabase
- Demo
- ENTER THE BUILD
- Source
- GitHub

Project visualization — a designed representation, not a literal screenshot
01Overview
What this is
An AI-assisted job discovery and intelligence platform: discover and normalize listings, match candidates to roles with deterministic scoring, analyze opportunities, track applications, and keep follow-ups moving.
Explores
- Job discovery from multiple sources
- Job normalization and deduplication
- Candidate-to-role matching
- Deterministic scoring and ranking
- AI-assisted job analysis
- Resume management
- Application tracking
- Scheduled discovery
- Notifications
- Supabase / PostgreSQL storage
- Supabase Edge Functions
- Automated testing
02Explore the build
The demo and the build insight
The demo
External application
ENTER THE BUILD
A functional prototype of the job-discovery, matching, application, and follow-up workspace. Uses a verified, publicly available deployment.
ENTER THE BUILDBuild insight
- Current build
- Functional Prototype
- Architecture and features below are the real build.
- Demo
- External
- Launch control above opens the verified public build.
Build insight — real project data, not a live application.
The app separates a deterministic matching core from the AI analysis layer. Raw listings flow through normalization and deduplication into PostgreSQL; the scoring engine reads the candidate profile and emits interpretable scores; AI analysis runs as a structured post-processing step on a shortlist rather than on every raw row.
03Problem · opportunity
What it sets out to solve
Job searching is fragmented across job boards, spreadsheets, resumes, email, and follow-up reminders. Candidates struggle to know which roles are genuinely worth their time and which steps still need a follow-up.
04Concept
The core idea
A single workspace that turns raw job listings into normalized, scored, and trackable opportunities — pairing deterministic matching logic with AI analysis so the candidate understands why a match is strong or weak.
05What I built
What's actually in the code
A functional prototype with a working job-discovery and application-tracking loop powered by Supabase (PostgreSQL) and Supabase Edge Functions. The current implementation includes deterministic matching and ranking, an AI job-analysis step, resume management, scheduled discovery, and automated tests around the core scoring logic.
Approach
Built the system as a modular pipeline: ingest listings, normalize and deduplicate them into a PostgreSQL schema, score roles against a candidate profile using deterministic rules, and layer on AI analysis for job descriptions and resume tailoring. Discovery runs on a schedule, with notifications for new matches.
06Key features
What's implemented today
- Pipeline that ingests raw listings, normalizes fields, and removes duplicates before they enter the database
- Deterministic candidate scoring so ranking is explainable rather than a black box
- AI step that reads a specific role and returns a structured analysis of what the position is really asking for
- Application tracker with statuses and follow-up reminders
- Scheduled discovery jobs that pull new opportunities and trigger notifications
- Automated tests covering the normalization, matching, and scoring modules
07Architecture
How it's structured
The app separates a deterministic matching core from the AI analysis layer. Raw listings flow through normalization and deduplication into PostgreSQL; the scoring engine reads the candidate profile and emits interpretable scores; AI analysis runs as a structured post-processing step on a shortlist rather than on every raw row.
Design notes
Resumes and personal data are treated as sensitive. The matching/ranking logic is written as pure functions so it can be verified with automated tests independent of the UI and the network.
08Technology
The stack
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- Edge Functions
- Node.js
- Tailwind CSS
09Challenges · lessons
Where it got hard, and what it taught me
Challenges
- Deduplicating the same role across multiple job boards without losing source-specific details
- Designing scoring rules that are honest — assignment-weighted, transparent, and free of fabricated precision
- Keeping AI analysis bounded to a structured schema so output remains stable and testable
Learnings
- Deterministic rules and AI analysis complement each other: rules guarantee explainability, while AI adds nuance a rules engine cannot express
- A pipeline-shaped architecture makes it easy to test each stage in isolation
- Notification and scheduling design matters as much as the matching itself for real-world usefulness
10Current status
Where this project sits today
Core features are engineered and demonstrable. Not yet production-hardened or deployed to real users.
Demonstrated
- Functional prototype with a working match-score flow and application tracker
- Automated tests run against the normalization, deduplication, and scoring modules
11What comes next
Where this goes from here
- 01Persist verified candidate outcomes — such as applications actually sent — through a controlled, user-authored flow
- 02Add broader discovery source adapters
- 03Harden the Edge Functions and add CI coverage across the full pipeline