Sandbox
@amruthpillai/reactive-resume

Self-hosted resume builder with export and sharing

Reactive Resume is a full resume builder that runs as a web app and can be self-hosted. It supports live editing, multiple templates, PDF/JSON/DOCX export, resume sharing, and privacy controls like no tracking and full data deletion. The codebase is split into the web app, server, and reusable packages for export, auth, storage, and integrations.

42,434 stars4.7k forksTypeScriptUpdated 7d ago
Who it's for

People who want to create and host resumes with privacy controls and optional self-hosting.

What it delivers

You can build, export, and share resumes while keeping the data under your own control.

What it does

Resume editing

Live preview, drag-and-drop section ordering, rich text editing, and custom sections.

Template library

15 templates with A4 and Letter sizes, plus customizable colors, fonts, spacing, and style rules.

Export formats

Exports resumes to PDF, JSON, and DOCX.

Privacy and control

Supports self-hosting, no tracking or analytics by default, full data export, and permanent deletion.

Sharing and import

Lets you share resumes with unique links and import from JSON Resume format.

Optional AI features

Includes AI integration for OpenAI, Google Gemini, and Anthropic Claude.

How to get it

  1. 1Pull the latest image from Docker Hub or GitHub Container Registry
    # Docker Hub
    docker pull amruthpillai/reactive-resume:latest
    
    # GitHub Container Registry
    docker pull ghcr.io/amruthpillai/reactive-resume:latest

README

Reactive Resume

Reactive Resume

Reactive Resume is a free and open-source resume builder that makes it easy to create, update, and share your resume.

Get Started · Learn More

Reactive Resume Version GitHub Stars License Docker Pulls Discord Crowdin Sponsors Donations


Pick a template, fill in your details, and export to PDF. Basic use needs no account. If you want more control, you can 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 hidden costs.

Features

Resume Building

  • Live preview as you type
  • Multiple export formats (PDF, JSON, DOCX)
  • Drag-and-drop section ordering
  • Custom sections for any content type
  • Rich text editor

Templates

  • 15 templates to choose from
  • A4 and Letter page sizes
  • Customizable colors, fonts, and spacing
  • Structured Style Rules for section and text styling

Privacy & Control

  • Self-host on your own infrastructure
  • No tracking or analytics by default
  • Full data export at any time
  • Delete your data permanently with one click

Extras

  • AI integration (OpenAI, Google Gemini, Anthropic Claude)
  • Multi-language support
  • Share resumes via unique links
  • Import from JSON Resume format
  • Dark mode
  • Passkey and two-factor authentication

Templates

Azurill
Azurill
Bronzor
Bronzor
Chikorita
Chikorita
Ditto
Ditto
Gengar
Gengar
Glalie
Glalie
Kakuna
Kakuna
Lapras
Lapras
Leafish
Leafish
Onyx
Onyx
Pikachu
Pikachu
Rhyhorn
Rhyhorn
Ditgar
Ditgar
Meowth
Meowth
Scizor
Scizor

Quick Start

The quickest way to run Reactive Resume locally:

# Clone the repository
git clone --depth=1  https://github.com/amruthpillai/reactive-resume.git
cd reactive-resume

# Start all services
docker compose up -d

# Access the app
open http://localhost:3000

For detailed setup instructions, environment configuration, and self-hosting guides, see the documentation.

Tech Stack

CategoryTechnology
FrameworkTanStack Start (React 19, Vite)
RuntimeNode.js
LanguageTypeScript
DatabasePostgreSQL with Drizzle ORM
APIORPC (Type-safe RPC)
AuthBetter Auth
StylingTailwind CSS
UI ComponentsBase UI + shadcn-style package
State ManagementZustand + TanStack Query

Documentation

The full documentation lives at docs.rxresu.me:

GuideDescription
Getting StartedFirst-time setup and basic usage
Self-HostingDeploy on your own server
Development setupLocal development environment
Project architectureCodebase structure and patterns
Exporting Your ResumePDF and JSON export options

Self-Hosting

Reactive Resume can be self-hosted using Docker. The stack includes:

  • PostgreSQL — Database for storing user data and resumes
  • SeaweedFS (optional) — S3-compatible storage for file uploads

From v5.1.0 onwards — PDF generation runs entirely client-side via @react-pdf/renderer. New deployments no longer need Browserless, Chromium, or any external print service. The PRINTER_* and BROWSERLESS_* environment variables are no longer read and can be removed from your .env.

Pull the latest image from Docker Hub or GitHub Container Registry:

# Docker Hub
docker pull amruthpillai/reactive-resume:latest

# GitHub Container Registry
docker pull ghcr.io/amruthpillai/reactive-resume:latest

See the self-hosting guide for complete instructions.

Support

Reactive Resume is and always will be free and open source. If it has helped you land a job or saved you time, please consider supporting continued development:

GitHub Sponsors Open Collective

Other ways to support:

  • Star this repository
  • Report reproducible bugs and suggest actionable features
  • Help other users in GitHub Discussions
  • Improve documentation
  • Help with translations

Star History

Star History ChartStar History Chart

Contributing

Every contribution helps, whether it is a typo fix or a new feature.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

See the development setup guide for how to run the project locally.

Maintainers review the status: needs triage queue weekly. Triaged bugs become status: confirmed; feature proposals become status: accepted; reports that need details become status: needs info.

License

MIT — do whatever you want with it.

Files in the repo

Repository payload46 top-level entries
  • .github
  • .orchestration
  • .vscode
  • apps
  • docs
  • migrations
  • packages
  • patches
  • plans
  • skills
  • tests
  • tooling
  • .codacy.yml
  • .dockerignore
  • .env.example
  • .gitignore
  • .markdownlint-cli2.yaml
  • .ncurc.cjs
  • .nvmrc
  • AGENTS.md
  • biome.json
  • CLAUDE.md
  • commitlint.config.cjs
  • compose.dev.yml
  • compose.yml
  • CONTEXT-MAP.md
  • crowdin.yml
  • DESIGN.md
  • Dockerfile
  • Dockerfile.dev
  • GLOSSARY.md
  • knip.json
  • lefthook.yml
  • LICENSE
  • package.json
  • playwright.config.ts
  • pnpm-lock.yaml
  • pnpm-workspace.yaml
  • README.md
  • SECURITY.md
  • server.json
  • skills-lock.json
  • tsconfig.json
  • turbo.json
  • vitest.setup.ts
  • vitest.shared.mts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More other

HKUDS/
Vibe-Trading

"Vibe-Trading: Your Personal Trading Agent"

33k

Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities.

35k

Open-source Claude Design alternative. One-click import your Claude Code / Codex API key. Prompt → prototype / slides / PDF. Multi-model (Claude, GPT, Gemini, Kimi, GLM, Ollama). BYOK, local-first, MIT.

7.9k

🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.

82k