Important
Reactive Resume now lives at reactive-resume/reactive-resume on GitHub.
GHCR images publish to ghcr.io/reactive-resume/reactive-resume.
Docker Hub stays at amruthpillai/reactive-resume.
Get Started
·
Learn More












Create a free account, import an existing resume or start fresh, and see the finished page as you write. Download a PDF, Word, Markdown, or JSON file, or share your resume with a public link. You can also run the whole application on your own infrastructure.
You own your data. The codebase is open source under the MIT license, with no tracking, no ads, and no paid tier. Optional AI features use a provider you connect; hosting and provider usage may have their own costs.
Build a better resume, together
Join the Reactive Resume community on Discord to exchange resume feedback, get help using or self-hosting the app, and share ideas with other users and contributors.
- Resume feedback: post a redacted resume and one specific question, or help someone improve theirs.
- Help: find troubleshooting discussions and ask questions in dedicated forum threads.
- Contribute: discuss ideas, translations, and code with the people building Reactive Resume.
Feedback comes from fellow community members. Remove contact details and other private information before posting.
Features
Write, Design, and Check
- Redesigned editor with inline content editing and click-to-select on the page
- Live PDF preview and browser downloads powered by Forme, rendered in a background worker
- Rich text, custom sections, drag-and-drop ordering, and structured dates with consistent formatting
- Autosave, local recovery of unsaved resume drafts, and up to 200 undo steps
- Phone and tablet layouts, keyboard shortcuts, and a searchable command bar
Templates and Customization
- 18 templates, including the new Porygon and Smeargle, previewed with your own content
- One-column, two-column, and ATS-safe template filters
- Font presets, custom fonts, colors, spacing, A4 and Letter paper, and left or right sidebars
- Fit overflowing content by adjusting density, margins, and text size
- Custom Styles written as Semantic CSS, with an element picker on the page
Resume Checks
- Readability checks with findings pinned to the relevant lines
- Job-posting keyword matching and a view of the text hiring software reads
- Checks on the exported PDF, plus an optional AI writing review
- A public ATS checker that reads PDFs in your browser without an account
Documents and Cover Letters
- One searchable library for resumes and letters, with tags, sorting, and grid or list views
- Standalone cover letters with their own editor, exports, and version history
- Link a letter to a resume to keep its sender details and design in sync, or customize it independently
- Automatic and named versions you can preview and restore
- Trash with Undo and a 30-day recovery window
Job Applications
- List, Board, Insights, and Calendar views for tracking applications from Saved to Offer
- Save jobs from a URL or pasted posting; optional keyword search through Firecrawl, Tavily, or Exa
- Tailor a resume and draft a cover letter for a saved job
- Track contacts, notes, follow-ups, application outcomes, and the documents you sent
- Schedule interviews, export calendar events, and import or export applications as CSV
AI Assistant
- Assistant beside your resume or letter, with conversations tied to that document
- Proposed edits show what changes and why; accept or reject each suggestion
- Improve selected text, review writing, and draft letters from a resume and job posting
- Connect OpenAI, Anthropic, Google Gemini, OpenRouter, Ollama, or other supported providers and compatible endpoints
- Optional web search and page reading; self-hosters can configure shared AI and web-access providers
Import, Export, and Sharing
- Import Reactive Resume JSON, JSON Resume, LinkedIn data exports, PDF, and Word files
- JSON, LinkedIn, and readable PDF imports work without AI; Word imports require a connected provider
- Export resumes and letters as PDF, Word (DOCX), Markdown, or JSON
- Share resumes through public links with optional password protection and view/download statistics
- REST API and MCP server for document management, imports, exports, checks, and application workflows
Privacy and Control
- Self-host with Docker, Vercel, Cloudflare Workers, or a 1-click deploy on Hostinger
- No tracking or ads; export your account data or delete your account
- Passkeys, two-factor authentication, and linked sign-in providers
- Multiple interface languages, light/dark/system themes, and reduced-motion support
Templates

Azurill

Bronzor

Chikorita

Ditto

Gengar

Glalie

Kakuna

Lapras

Leafish

Onyx

Persian

Pikachu

Rhyhorn

Ditgar

Meowth

Scizor

Porygon

Smeargle
Quick Start
Use the hosted app to start writing, or build this checkout locally with Docker and Docker Compose:
# Clone the repository
git clone --depth=1 https://github.com/reactive-resume/reactive-resume.git reactive-resume
cd reactive-resume
# Create your local configuration
cp .env.example .env
# Edit .env: set AUTH_SECRET and a separate ENCRYPTION_SECRET.
# Generate each secret with: openssl rand -hex 32
# Build the app and start PostgreSQL, Redis, and SeaweedFS
docker compose up -d --build
# Open http://localhost:3000 in your browser
This builds the checked-out source. For a deployment using published images, follow the Docker guide. For source development, see the development setup guide.
Tech Stack