Skip to content

pbathuri/ResumeForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResumeForge

Local-first, ATS-aware resume builder with a full visual editor, industry-curated templates, LaTeX PDF generation, and an explainable rewrite pipeline powered by a local Ollama LLM.



Beta → resumeforge-web.vercel.app


TL;DR

Most resume AIs are black boxes that rewrite your CV into something you don't recognise. ResumeForge runs the rewrite locally through Ollama, shows you every edit with justification, compiles a real LaTeX PDF, and scores you against the ATS platforms (Workday / Greenhouse / Lever / Taleo / iCIMS / SmartRecruiters / BambooHR) the employer is actually using.


Architecture

flowchart LR
    U[Resume +<br/>Job Description] --> W[Next.js 14<br/>App Router]
    W -->|SSE stream| A[FastAPI<br/>/api/v1/runs]
    A --> P[Parser<br/>+ Scoring]
    A --> L[LangGraph<br/>rewrite pipeline]
    L --> O[Ollama<br/>local LLM]
    A --> T[tectonic<br/>LaTeX → PDF]
    A -.->|optional| R[Redis +<br/>Celery]
    A --> S[(Postgres)]
    T --> ART[Artifacts<br/>PDF · TEX · ZIP]
Loading

Everything the model does is observable: you see the plan, the per-section diff, and the compiled PDF in real time over SSE.


What's built

Frontend - Next.js 14 App Router

Route Status Description
/ ✅ live Marketing - animated background, hero input, industry filter, template showcase, ATS badges
/new ✅ live Core builder - paste/upload resume, pick template, select industry + colour, run analysis
/transferring ✅ live Animated progress screen while backend analyses
/editor ✅ live Full visual resume editor - drag-and-drop sections, real-time preview, export
/templates ✅ live Gallery - filter by industry, ATS score, layout
/dashboard ✅ scaffolded Run history, score trends, artifact downloads
/fit-analyzer ✅ scaffolded JD ↔ resume alignment scorer
/pricing ✅ scaffolded Pricing tiers
/admin/deployment 🔲 TODO Health check dashboard

UI Components

  • AnimatedBackground - 4-layer canvas: Gemini hero image → animated mesh gradient → 80-particle canvas (proximity lines, 40 fps) → parallax ghost resume cards (framer-motion mouse tracking).
  • IndustryFilterBar - 10 industry pills · role typeahead · ATS platform dropdown · experience slider · strict-ATS toggle.
  • TemplatePicker - Visual grid with CSS mockup previews · colour swatches · ATS score badges · industry filtering.
  • ResumeHeroInput - Dual-pane textarea (resume + JD) · drag-and-drop file upload (.pdf / .docx / .txt / .md).
  • VisualEditor - Drag-and-drop sections, inline editing, print/export.

Backend - FastAPI

Endpoint Status Purpose
GET /api/v1/health Basic health + dependency checks
POST /api/v1/runs/analyze Sync parse + score against JD
POST /api/v1/runs/{id}/render LaTeX → PDF via tectonic, returns artifact URLs
GET /api/v1/runs/{id}/artifacts/{aid}/download Stream PDF / TEX / ZIP bytes
GET /api/v1/runs/{id}/stream SSE - async LangGraph rewrite pipeline
POST /api/v1/assistant/chat Redis-backed chat history
GET /api/v1/settings User preferences

LaTeX templates (all ATS-annotated)

Key UI ID ATS score For
ats_classic_single_column forge-classic 99% Maximum ATS compatibility
modern_minimal_single_column forge-minimal 97% Typography-first
technical_compact forge-tech 96% Skills-first, dense - engineers
academic_cv forge-research 95% Publications / education prominent
consulting_clean forge-classic variant 94% Consulting bullet depth
executive_bold forge-executive 92% Large header, ruled separators
two_column_split forge-two-column 88% Experience left + skills sidebar
creative_sidebar forge-creative 74% Design / UX / marketing

Monorepo

apps/
  api/                 FastAPI - parsers, scoring, LLM, LaTeX, runs, assistant, auth, SSE
    app/api/routes/    health, settings, prompts, runs, assistant, auth, streaming
    app/core/          config, database (Postgres via SQLAlchemy)
    app/schemas/       Pydantic contracts
    app/services/      run_service, redis, session, celery, langgraph, evaluator, s3, sse
    tests/             pytest + fakeredis async fixtures
  web/                 Next.js 14 App Router + server proxy → backend
    app/(marketing)/   Landing
    app/(main)/        Shell - /new · /editor · /templates · /dashboard · /settings
    lib/templates.ts   8 templates × 10 industries × 6 colour schemes + ATS metadata
packages/
  shared-types/        Zod schemas + TS contracts
  prompt-library/      YAML prompt packs with inheritance
  latex-templates/     8 × .tex.j2 Jinja2
  scoring-engine/      Synonym ontology maps
docs/ARCHITECTURE.md   End-to-end workflows + file map
docs/aws-architecture.md · DEPLOYMENT.md
Dockerfile.api         Python + tectonic (pinned v0.15.0 musl-static)
Dockerfile.web         Next.js production image
docker-compose.yml     Redis + Ollama + API + Celery worker + optional web
render.yaml            Render Blueprint (API + 5 GB disk)

Quick start

# Run the stack locally
docker compose up
# → API on :8000, Ollama on :11434, Web on :3000

Or piece-by-piece:

# API
cd apps/api && pip install -r requirements.txt && uvicorn app.main:app --reload

# Web
cd apps/web && pnpm install && pnpm dev

You need: Python 3.11+, Node 20+, Docker (for tectonic), and Ollama (or point LLM_BASE_URL at another provider).


Roadmap

  • Fit-analyzer: JD ↔ resume alignment scorer (in scaffold)
  • Admin deployment health-check dashboard
  • AWS CDK stack → one-command deploy (scaffold exists at infrastructure/aws-cdk/)
  • Prompt pack marketplace for template-specific rewrites

Part of @pbathuri's project portfolio · Local-first AI, explainable by default.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors