🚀
resume-ops is now part of JobFoundry!

We have incorporated resume-ops directly into JobFoundry to manage the complete end-to-end pipeline (automated ATS job scraping, fit scoring, Kanban application tracking, and tailored resumes). Standalone resume-ops may not receive further updates.

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.

Why resume-ops? (The Ethos)

An AI tool built on your side of the table.

🎯 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/deadrat-in/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.