Overview
Discover what makes Reactive Resume powerful
**Reactive Resume** is a self‑hostable, client‑side web application that lets developers generate, edit, and publish professional resumes without relying on third‑party SaaS. Built as a single‑page application (SPA), it leverages modern web standards to provide real‑time editing, drag‑and‑drop layout manipulation, and a rich template library—all while keeping user data local or on a self‑managed backend. The project is open source (MIT license) and actively maintained, offering Docker images, API documentation, and a multilingual front‑end.
Front‑End
Back‑End
Database
Containerization
Overview
Reactive Resume is a self‑hostable, client‑side web application that lets developers generate, edit, and publish professional resumes without relying on third‑party SaaS. Built as a single‑page application (SPA), it leverages modern web standards to provide real‑time editing, drag‑and‑drop layout manipulation, and a rich template library—all while keeping user data local or on a self‑managed backend. The project is open source (MIT license) and actively maintained, offering Docker images, API documentation, and a multilingual front‑end.
Technical Stack & Architecture
- Front‑End: React (v18+) with TypeScript, styled using TailwindCSS and Headless UI for component composition. State is managed via React Context +
useReducer, with persistence inlocalStorageor an optional RESTful backend. The UI is highly modular, exposing a plugin‑style architecture where new components (e.g., custom section types) can be injected at runtime. - Back‑End: A minimal Node.js/Express server (optional) that exposes a REST API for persistence, analytics, and OpenAI integration. The server is stateless; it stores resumes in JSON files or a lightweight database (SQLite by default, with optional MongoDB support). All API endpoints are versioned and documented through OpenAPI.
- Database: SQLite is the default for self‑hosters; it ships with Docker images that mount a volume to persist data. The schema is schema‑less: each resume is stored as a JSON blob, making migrations trivial.
- Containerization: The project provides official Docker images (
amruthpillai/reactive-resume) that expose port 80. The container can be run with a single command, mounting volumes for data persistence and optionally configuring environment variables (API_URL,OPENAI_KEY). - Build & Tooling: Vite is used for fast bundling and hot‑module replacement. ESLint, Prettier, and Jest (React Testing Library) enforce code quality.
Core Capabilities & APIs
- Real‑time Editing: The editor uses a custom JSON schema for resume data, enabling instant preview updates without page reloads.
- Template Library: Over 20 downloadable templates are bundled; developers can add new ones by placing an SVG/HTML template file in the
templatesfolder. - Drag‑and‑Drop Layout: Powered by
react-beautiful-dnd, sections can be reordered, resized, or removed via a simple UI. - OpenAI Integration: A server‑side endpoint (
/api/generate) accepts prompts and returns AI‑generated text, enabling features like auto‑completion of bullet points. - Analytics: Each published resume emits a lightweight tracking pixel; the server aggregates view/download counts per resume ID.
- Export: Resumes can be exported as PDF (via
html-pdfon the server) or raw JSON for programmatic use.
Deployment & Infrastructure
Reactive Resume is intentionally lightweight, making it suitable for:
- Docker Swarm/K8s: The stateless API and file‑based storage allow horizontal scaling; a shared volume or cloud object store can back the data layer.
- Edge Deployments: The client bundle is purely static; it can be served from a CDN or Netlify/Vercel for low‑latency global access.
- Bare Metal: A single Node process runs the API; no external services are required, keeping costs minimal.
- High Availability: The API can be clustered behind a load balancer; the SQLite file is read‑only in production to avoid write conflicts.
Integration & Extensibility
- Plugin System: Developers can expose new section types by creating a React component that adheres to the
Sectioninterface and registering it in the editor’s registry. - Webhooks: The API supports
POST /webhookfor external services (e.g., CI/CD pipelines) to trigger resume rebuilds. - Custom Themes: TailwindCSS variables can be overridden via a
theme.jsonfile, allowing brand‑specific styling. - SDK: A small JavaScript SDK (
reactive-resume-sdk) simplifies API consumption from other web apps, handling authentication and error handling.
Developer Experience
- Documentation: Comprehensive docs are hosted at
docs.rxresu.me, covering setup, API reference, and contribution guidelines. The README is concise yet informative. - Community: A Discord server and GitHub Discussions channel provide real‑time support. The project’s issue tracker is actively maintained, with a clear triage process.
- Configuration: Environment variables control all runtime behavior (
PORT,DATABASE_URL,OPENAI_KEY). The Docker image exposes aconfig.yamltemplate for advanced setups. - Testing: Unit tests cover core logic; integration tests run against a mock API server. Continuous Integration on GitHub Actions ensures every PR passes.
Use Cases
| Scenario | Why Reactive Resume? |
|---|---|
| Freelance Portfolio | Export PDFs and share a unique URL; track views. |
| Open‑Source Contributors | Self‑hosted, no data leakage; contribute to the codebase. |
| Recruitment Agencies | Bulk generate resumes from a template; integrate with ATS via API. |
| Educational Institutions | Deploy on campus servers, provide students a unified resume builder |
Open SourceReady to get started?
Join the community and start self-hosting Reactive Resume today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Shopware
Open‑source, headless commerce platform for modern online stores
Glowing Bear
Web IRC client for WeeChat, mobile‑friendly and feature rich
Kasm Workspaces
Secure, browser‑based workspaces for any device
Perplexica
AI‑powered search engine that finds answers and cites sources
ChannelTube
Automated YouTube channel downloader and organizer
Svix
Enterprise‑ready webhook delivery and management