Career Intelligence
A self-hosted career command center that finds jobs on company job boards, scores each one against your profile with an explainable 0–100 match, and runs the whole search from application to offer.
- explainable match score, 9 parts
- 0–100
- automated tests (264 backend, 150 frontend)
- 414
- job portals and ATSs recognised
- 10+
Five things that set Career Intelligence apart.
Finds jobs itself
Scans the Greenhouse, Lever, Ashby and Workday boards of companies you track, on a schedule.
Explainable score
Nine weighted components, each with plain-language reasons. Same inputs, same score.
Never the same job twice
Same link, posting ID, company + title or a repost: all merged into one job.
One-click collector
A Chrome extension adds the job you are viewing on LinkedIn, Naukri or any careers page.
You stay in control
The assistant proposes changes as cards; nothing changes until you confirm.
Every source, one pipeline, one score.
Jobs arrive from scans, imports, the extension and manual entry. Each is normalised, de-duplicated, parsed and scored by the same engine.
The score is deterministic: the same job, profile and scoring version always give the same number, and every point is explained.
The whole job search, CV to offer.
CVs & profile
Parse PDF, DOCX, TXT or Markdown CVs, keep versions with diffs, and build professional and target profiles.
Company intelligence
Tiers, aliases and field-level provenance, with verification derived from evidence.
Jobs
Review queue with one-key actions, source detection for 10+ portals and ATSs, and a filterable admin grid.
Matching
Exact, partial and related skill matches via a taxonomy, experience fit, blockers and an off-stack cap.
Pipeline
Applications, recruiter CRM, interview rounds, question bank, prep packs and offers with negotiation logs.
Insights
Today’s priorities, funnels, skill-gap charts and ten date-range reports with CSV and PDF export.
Assistant
Ask in plain words or give commands; works offline, or with an LLM for free-form questions.
Reliability
Daily backups with restore, optional login, audit log, CI and a Playwright smoke test.
The hard parts of a job search, automated.
Duplicate jobs everywhere
The same role appears on LinkedIn, Naukri, the company board and as reposts in other cities.
SolutionMatch on link, posting ID, company + title in any city, or a 60%+ similar JD; concurrent scans cannot save twice.
ResultOne job per role, showing every source it came from.
Scores that lie
A “Lead” title at a good company can look like a strong match even on the wrong stack.
SolutionCap the score at 60 when none of the job’s main technologies is in your profile; soft skills count half.
ResultOff-stack jobs stop crowding the top of the list.
Fake company data
Scraped “LinkedIn” links pointing to Facebook, or search pages posing as careers pages.
SolutionVerify through an SSRF-safe fetcher and derive status from evidence.
ResultInvalid values are stored as invalid and never shown.
The stack behind it.
- Backend
- Python 3.12FastAPIPostgreSQL 16
- Frontend
- React 19TypeScriptViteTailwind CSS 4
- Extras
- Chrome extensionDockerGitHub ActionsPlaywright
- AI (optional)
- LLM tool useRead-only data tools
- Skills shown
- Product designScoring systemsData qualityAutomationAI-assisted development
The work, piece by piece.
CV upload (PDF, DOCX, TXT, Markdown) with deterministic parsing of experience, roles, skills, projects, certifications and education; CV versions with diffs.
Professional and Target profiles: titles, skills, domains, locations, work model, salary, notice period and exclusions.
Company database with tiers, aliases and field-level provenance: every value keeps its source, URL and a verification status derived from evidence.
SSRF-safe verification of official websites and careers pages; fake or mismatched links are stored as invalid and never shown.
Built-in scanner that searches Greenhouse, Lever, Ashby and Workday boards of tracked companies on a schedule.
JD parsing for required vs preferred skills, years per skill, experience range, salary formats (LPA, lakhs, k), work model and locations.
Deterministic 0–100 match score from nine weighted components, with a skills taxonomy, blocker detection and an off-stack cap.
Deduplication across every source: same link, same posting ID, same company and title in any city, or a repost with a 60%+ similar JD.
Review queue with one-key actions, an admin-grid job list, status tabs and bulk actions.
Pipeline for applications, recruiter CRM, interview rounds, a question bank, prep packs and offer comparison with a negotiation log.
Dashboard, charts, skill-gap analytics and ten date-range reports with CSV and PDF export.
Assistant chat that answers questions and proposes changes as cards you confirm; works without AI, or with an LLM using read-only tools.
Chrome extension that adds the job you are viewing on LinkedIn, Naukri, Indeed or a careers page in one click.
Read-only inbox reader that suggests status changes from rejections, invites and offers; daily backups, audit log, CI and a Playwright smoke test.
Want a walkthrough?
The code is private, but I'm happy to demo the product and talk through the architecture. I'm available immediately for senior roles and contract work.