Skip to content
Sourav ChandhokAll projects →

Applied AI / Full-stack

JobHelperGuru

A job-search workspace built with Python, FastAPI, and React that analyzes postings, matches résumés, suggests evidence-aware bullets, and features an offline heuristic fallback.

PythonFastAPIReactOpenAI APIpytestPostgreSQL

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

JobHelperGuru application screenshot
JobHelperGuru · Interactive web application

The problem

Job applications involve repeated context switching: reading a posting, comparing it with several résumés, tailoring the wording, and remembering what was submitted. JobHelperGuru brings those steps into a shared workspace.

My contribution

I built the React and Python/FastAPI application, provider-independent LLM integration, résumé-matching workflow, and supporting authentication, document storage, and application tracking architecture.

A connected application workflow

Users paste a job description or submit a posting URL, inspect the extracted qualifications, compare stored résumés, and revise individual bullets before tracking the application.

Cloud and local models use an OpenAI-compatible interface. An offline heuristic fallback supports pasted-job analysis and keyword matching even without an external model key.

Architecture

  • React: job analysis, résumé inspection, settings, and table or Kanban application tracking.
  • FastAPI: application endpoints, authenticated workflows, and structured Pydantic response models.
  • AI engine & Offline fallback: structured job analysis, résumé ranking, and claim-aware bullet suggestions, with an offline heuristic fallback to preserve core functionality.
  • PostgreSQL and Cloudflare R2: application records and résumé document storage, with local development alternatives.
  • pytest Automated Testing: comprehensive test suite verifying API routes, authentication, data processing, and application logic.
  • openpyxl: automated spreadsheet exports and application tracking workflows.

Useful suggestions, grounded claims

The most important constraint is avoiding résumé suggestions that silently invent experience. Bullet suggestions distinguish supported claims from unverified skills and metric placeholders. The user remains responsible for reviewing every suggested statement.

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

Result and scope

The project combines job analysis, multi-résumé matching, bullet revision, application tracking, and Excel export in one application. It demonstrates applied AI integrated with ordinary product workflows and persistent user data.

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

What the project taught me

AI features need explicit contracts, failure paths, and clear distinctions between evidence and suggestions. The fallback experience is part of the product, and generated text is most useful when its assumptions are visible.

LET'S CONNECT

Have an opportunity in mind?

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