Podman-First FastAPI Service

Resume Ops Documentation

Headless API service for tailoring JSON Resumes using a structured LangGraph state machine while strictly protecting immutable resume fields.

🎯 Signal Over Noise

Re-aligns your authentic experience to match the target job description so your true fit is immediately clear to recruiters—without keyword stuffing or spam.

🛡️ Truth Over Fabrication

Your contact details, job titles, companies, dates, and degrees are strictly immutable. resume-ops reformulates real achievements; it never invents fake projects or unverified skills.

đź”’ Privacy & Self-Hosting

Runs in your own isolated Podman/Docker container. Retain full control over model routing—whether running 100% offline with local LLMs (vLLM, Ollama) or routing to your trusted API provider of choice.

Deployment Snippets

Copy-pasteable setup commands for Podman, Docker Compose, systemd Quadlets, and API requests.

podman run -d \
  --name resume-ops \
  -p 8000:8000 \
  -v ./data:/data:Z,U \
  --env-file .env \
  ghcr.io/rat-s/resume-ops:latest

Interactive .env Configurator

Generate a complete .env configuration file matching .env.example with live model fetching from OpenRouter or custom OpenAI base URLs.

1. API Keys & Base URL

Queries /v1/models to auto-populate available LLM models into dropdowns.

2. Model Routing

3. Theme, Tone & Rate Limits

Generated .env File


            

Tailoring & Field Protection Rules

Conservative boundaries prevent LLM hallucinations while aligning resume content to job requirements.

JSON Resume Section Status Tailoring Behavior
basics đź”’ Protected Name, email, phone, and links are 100% preserved. Only summary is tailored.
work ⚡ Tailored Preserves all job titles, dates, and companies. Tailors summary and highlights.
education ⚡ Tailored Degrees, dates, and institutions remain immutable. Only relevant courses are tailored.
skills ⚡ Tailored Regrouped and prioritized based on target JD, strictly derived from master resume.
projects ⚡ Tailored Selected and reordered. New unverified projects are never hallucinated.
certificates đź”’ Selection Only Content is not rewritten; final output is capped at maximum 18 items.

API Endpoints

FastAPI OpenAPI endpoints available on running instances.

POST /api/v1/tailor

Initiates resume tailoring in synchronous or asynchronous webhook mode.

GET /api/v1/tasks/{task_id}

Polls execution status and fetches completed output of background tasks.

GET /api/v1/themes

Lists installed and data-mounted JSON Resume themes available for PDF rendering.