🧩 Project Overview
Resume Studio solves the core problem with AI-written resumes: they lie. Most tools happily invent an employer, stretch a date, or manufacture a metric to fit the job description — which is exactly the kind of thing that ends an application when a recruiter checks.
This engine is built around a deterministic truth-guard. Every generated line is grounded in a single master profile, and the guard enforces it programmatically — it will never invent employers, dates, titles, degrees, certifications, metrics, or skills. The AI is allowed to reframe and prioritise what is true; it is not allowed to add.
Everything runs locally through Ollama. No job history, no salary details, and no personal data leaves the machine.
✨ Core Features
Truth-guarded generation — a deterministic validator sits between the model and the output, rejecting any claim not traceable to the master profile.
Three artifacts per job — tailored resume, cover letter, and application email, generated together from one posting.
Role personas — the same true work history, framed for different lanes (IT support, web dev, integration) without changing any underlying fact.
DOCX and PDF rendering — ATS-friendly output ready to submit, not markdown you have to reformat.
Bulk CSV mode — run a batch of postings through in one pass instead of one at a time.
Browser job scraper — a Tampermonkey userscript saves LinkedIn and Indeed postings straight into the local collector dashboard.
Library view — every generated application stored and searchable, so you can see what you sent where.
n8n-ready HTTP APIs — the whole engine is callable from automation workflows, not just the UI.
Fully local & private — generation via Ollama on your own hardware; nothing sent to a hosted model.
🖥️ Interface Highlights
Generate — paste or pull a job posting, pick a persona, get the three documents.
Bulk — CSV in, batch of tailored applications out.
Scraper — the collector dashboard showing jobs captured from the browser, ready to generate against.
Library — history of everything generated, by job and company.
🔧 Technical Notes
Python 3.11+, packaged as automatic-resume-generator. The web app is served by a Python API on port 8088, with the scraper collector as a separate service on port 8765. The generation core is separated from rendering, so personas and templates change without touching the truth-guard. Docker setup included. The documentation set covers architecture, API, personas, storage, privacy, and auto-apply.
Category | Technology |
|---|---|
Language | Python 3.11+ |
Local AI | Ollama |
Rendering | DOCX + PDF |
Deployment | Docker |
Automation | n8n-ready HTTP APIs |
🌐 Reference
Repo: https://github.com/K-Keerthivasan/Jobassistant_Local_Streamlit
