I’m excited to showcase a project I’ve been building: JobsHunt. It is a local web application designed to streamline the modern job application process by leveraging your own LLM providers and local résumé materials.
This entire project was developed using the Cursor CLI, which was instrumental in managing the workspace-aware context needed to bridge the FastAPI backend with the React frontend.
Key Capabilities
-
Structured Evaluation: Automatically scores job postings (1.0–5.0) across custom dimensions and provides a “Match Narrative” to identify gaps.
-
Tailored Drafting: Generates targeted résumé drafts based on your “Résumé Vault” (a local directory of your documents) and the specific job spec.
-
ATS Optimization: Features a multi-round refinement process to clear heuristic “noise” and align with standard section headers and formatting.
-
Application Pipeline: A built-in local tracker to manage your search status, scores, and run history in one place.
-
Local Copilot: A workspace-aware chat assistant that can execute actions like “set résumé text” or “apply insights” directly to your drafts.
The Tech Stack
The app is built for performance and portability:
-
Backend: FastAPI (Python 3.9+)
-
Frontend: React / Vite / Tailwind CSS
-
Development: Built and managed via Cursor CLI.
-
Integration: Supports OpenAI, Anthropic, Ollama, and OpenRouter via local configuration.
Important Warning
Self-Responsibility Statement: The outputs generated by this tool (drafts, evaluations, and insights) are AI-suggested templates. You must review every artifact before submission. Additionally, the optional
apply-helperscript capability should only be used with code you trust, as it executes local subprocesses.
Getting Started
You can find the full source code, architecture breakdown, and installation guides on GitHub:
Check out the JobsHunt repository
I’d love to hear your thoughts or see how you might extend the local “Scout” or “Story Bank” features!