Skip to content
Sourav ChandhokAll projects →

APPLIED AI / FULL-STACK

JobHelperGuru

JobHelperGuru is a full-stack job-search workspace built with Python, FastAPI, and React. It analyzes job postings, compares multiple résumés, generates evidence-aware bullet suggestions, tracks applications, and preserves core functionality through an offline heuristic fallback.

PythonFastAPIReactOpenAI APIpytestPostgreSQL

Live demos may take a moment to wake up. Case studies and screenshots remain available here.

JobHelperGuru ATS match scoring and qualification analysis
JobHelperGuru job description parsing and bullet optimizer
JobHelperGuru resume comparison and claim verification
JobHelperGuru application pipeline and tracking spreadsheet
JobHelperGuru model provider settings and fallback heuristics
JobHelperGuru workflow details and candidate tailoring
JobHelperGuru workspace dashboard overview
1 / 7
JobHelperGuru · Interactive web application

The problem

Job applications involve repeated context switching: reading a posting, identifying requirements, comparing it against different résumés, tailoring the wording, and remembering what was submitted.

JobHelperGuru brings those steps into one workspace so job analysis, résumé matching, tailoring, and application tracking share the same context.

What I built

I designed and built the React frontend, Python/FastAPI backend, OpenAI-compatible model integration, multi-résumé matching workflow, and application tracking system. The project also includes authentication, persistent application data, résumé document storage, Excel export, and an offline heuristic fallback path for core job-analysis features.

Application workflow

Users can paste a job description or submit a supported job-posting URL, review the extracted qualifications and ATS keywords, compare stored résumés, revise individual bullets, and then track the application without leaving the workspace.

Cloud and local models use an OpenAI-compatible interface. When no model is configured, an offline heuristic fallback still supports pasted-job analysis and keyword matching.

Architecture

React UI FastAPI API orchestration layer AI / Matching Engine Job analysis Résumé ranking Bullet suggestions PostgreSQL Applications & tracking data Cloudflare R2 Résumé document storage OpenAI-compatible provider Cloud / local model endpoints Offline heuristic fallback Zero-config parsing & keyword matching
React UI FastAPI API
AI / Matching Engine PostgreSQL Applications & tracking data Cloudflare R2 Résumé document storage
OpenAI-compatible provider Cloud / local model endpoints Offline heuristic fallback Zero-config parsing & keyword matching
  • React: job analysis, résumé inspection, settings, and table or Kanban application tracking.
  • FastAPI: authenticated application endpoints, job-analysis workflows, résumé matching, tracking operations, and structured Pydantic response models.
  • AI engine + offline fallback: structured job analysis, résumé ranking, and evidence-aware suggestions, with a heuristic path that preserves core functionality when no model is configured.
  • PostgreSQL + Cloudflare R2: persistent application records and résumé document storage, with local development alternatives.
  • pytest: automated testing across API routes, authentication, parsing, data processing, and application logic.
  • openpyxl: spreadsheet export for tracked applications.

Evidence-aware AI

SUPPORTED CLAIM

Backed by résumé or project evidence

UNVERIFIED SKILL

Requires user confirmation before use

METRIC PLACEHOLDER

Uses placeholders until a real value is supplied

The main design constraint was preventing AI-generated résumé suggestions from silently becoming fabricated experience.

JobHelperGuru separates supported claims from unverified skills and metric placeholders. Missing keywords can still be surfaced and suggested as hypothetical rewrites, but assumptions remain visible so the user can confirm them before using the content.

Model responses and scraped job pages are variable inputs, so parsing, validation, and fallback paths keep the workflow usable when a provider response cannot be interpreted or no external model is configured.

Result and scope

JobHelperGuru combines job analysis, multi-résumé matching, bullet revision, application tracking, and spreadsheet export in one application. The project demonstrates applied AI embedded inside ordinary product workflows rather than treated as a standalone chatbot.

Résumé match percentages are application heuristics, not validated hiring predictions or guarantees of ATS compatibility. AI-generated suggestions require user review, and URL ingestion depends on source-site accessibility.

What the project taught me

The biggest lesson was that AI features need explicit contracts, visible assumptions, and reliable failure paths. Generated text is most useful when the application makes clear which claims are supported, which require confirmation, and what happens when the model is unavailable.

The project also reinforced the value of schema-constrained responses, fallback logic, persistent workflow state, and designing AI features as part of a complete product rather than as isolated prompts.

LET'S CONNECT

Have an opportunity in mind?

I'm seeking full-time Java backend, full-stack, and AI application development opportunities across Canada.

Download my resume