mrkeyoor.com_
Wed 12 Aug 17:49 UTC
Self-Hostedevaluationupdated 12 Aug 2026

reactive-resume

Reactive Resume is a free web app for creating, styling, sharing, importing, and exporting resumes. It offers a hosted service for quick use and a self-hosted stack for people who want control over career data, with templates, PDF, JSON, and DOCX output plus optional AI features.

Verdict

Reactive Resume is the best all-around open resume builder for people who want a polished editor today and a credible escape hatch through self-hosting and JSON export. Its template breadth and privacy posture are excellent, while client-side PDF generation makes deployment much saner. Do not trust the preview alone: export and inspect the exact PDF with your language, fonts, styling, and target job systems before sending it.

Setup4/5Instant hosted use and good Compose start, with several production services
Docs5/5Strong user, export, self-hosting, development, and architecture guides
Community5/5Large active community with current fixes and translation work
Maturity4/5Polished v5 product, with PDF and styling regressions still surfacing

Who it’s for

Job seekers who want a polished resume without ads or a required account for basic use.
Users who value full JSON export and the option to move between hosted and self-hosted use.
Families, schools, or communities willing to operate one private resume service for many users.
Developers who want customizable templates, structured styles, multilingual UI, or MCP access to resume data.

Who it’s NOT for

Applicants who need guaranteed applicant-tracking-system compatibility: an open request asks for a deterministic ATS checker, so the project does not currently provide that assurance.
Arabic and other right-to-left resume authors who need reliable PDF output now: issue 3275 reports incorrect direction, shaping, alignment, and layout.
Users who cannot inspect every exported PDF: current reports cover missing bold text, overlapping characters, corrupted punctuation, black pages, and font alignment.
Self-hosters seeking a static single-container page: the documented stack includes PostgreSQL and may add object storage, Redis, authentication, email, AI providers, and reverse-proxy configuration.
People expecting AI privacy merely because the app is open source: optional AI requests still go to the provider they configure.

Setup reality

Using the public app is genuinely quick, and basic resume building needs no account. Self-hosting starts with Docker Compose but becomes a normal web application deployment: configure PostgreSQL, application URL, authentication and email, persistent backups, optional SeaweedFS uploads, Redis-backed features, TLS, and upgrades. Client-side PDF generation removes the old Browserless and Chromium dependency from v5.1 onward, a meaningful simplification. Before migrating many resumes, test JSON export and import, photo uploads, chosen fonts, PDF rendering, sharing, and any reverse-proxied MCP authentication.

A resume builder with a real exit path

Reactive Resume combines the convenience of a hosted visual builder with two protections against lock-in: the entire application can be self-hosted under MIT, and resume data can be exported in structured JSON. A user picks one of 15 templates, fills in career information, rearranges sections, changes colors and fonts, watches a live preview, and exports PDF, JSON, or DOCX. Basic use on the hosted site does not require an account.

That is a strong consumer proposition. Many resume services reveal their real cost only after a user has entered sensitive employment history and tries to download. Reactive Resume says it has no ads, tracking, or hidden charges, and the source is available for inspection. Sharing links, dark mode, custom sections, rich text, two-factor authentication, passkeys, and multilingual support make it feel like a finished product rather than a template demo.

The privacy claim still needs ordinary nuance. A public share is public to whoever has the link. A hosted account stores data on someone else's service. Optional OpenAI, Gemini, and Claude integrations send selected content to those providers. Self-hosting changes who operates the application; it does not make every enabled integration local.

Editing depth is the main advantage

Templates cover conservative single-column layouts, denser sidebars, and more visual designs in both A4 and Letter sizes. Users can control section order, page spacing, fonts, colors, and structured style rules. Custom sections make the schema usable for publications, volunteering, awards, projects, or fields outside a conventional employment timeline.

The live preview is fast feedback, but the exported document is the product. Reactive Resume moved PDF generation entirely into the browser through @react-pdf/renderer in v5.1. New self-hosted installations no longer need Browserless, Chromium, or external print infrastructure. This reduces memory use, deployment pieces, and server-side exposure of document content. It also creates a separate rendering path whose font and layout behavior must match the editor.

Current issues show where that match can fail. Users report bold text disappearing with Open Sans, extra overlapping characters in exported files, missing punctuation glyphs, vertically misaligned fonts, and all-black previews or PDFs. Several have focused fixes in progress. These are not universal failures, but a resume cannot tolerate a subtle export defect. Always download, reopen, zoom, copy text, and print-test the final file.

Language support is broad but uneven

The project uses Crowdin and maintains dozens of locale catalogs. The interface can serve an international audience, and paper sizes cover common regional standards. Translation of buttons and fields is not the same as correct document typography.

Issue 3275 reports Arabic resumes rendering incorrectly in both the editor and generated PDF, including text direction, character shaping, alignment, and section layout. Users of right-to-left scripts should treat that as a current blocker unless their exact template passes testing. Missing-glyph problems can also affect punctuation even in Latin text when a selected web font lacks a character and the PDF renderer has no fallback. A pull request adds Noto punctuation fallback for one such case.

Applicant tracking systems introduce another distinction. A clean visual layout does not guarantee that automated hiring software reads sections, dates, links, and text in the intended order. An August 2026 feature request proposes a deterministic ATS check that would inspect structure without an AI provider. Since that is a request, not a shipped feature, users should test text extraction and follow the target employer's format guidance rather than trusting an “ATS-friendly” assumption.

Self-hosting is easier, not effortless

The quick start clones the repository and runs Docker Compose, exposing the app on port 3000. The production stack uses a TypeScript application, PostgreSQL through Drizzle, authentication, and optional SeaweedFS for S3-compatible file uploads. Documentation covers Docker deployment, environment settings, development, architecture, and exports.

A durable installation needs persistent volumes and coordinated backups for database records and uploaded assets. The public application URL must match reverse-proxy and authentication expectations. Email-based flows need a mail service. AI, saved providers, and MCP-related paths may require Redis according to current development documentation. A pull request from August fixes MCP bearer-token verification when a public APP_URL does not resolve from inside a container, a common reverse-proxy topology. Test that path before advertising agent access.

Upgrades deserve staging because the styling system is moving. Version 5.2.5 introduced semantic CSS stylesheets and fixed a pasted page margin that could crash the app. Open reports say activating converted styles can fail parity checks for one template and that some custom styling no longer affects expected sections. Keep JSON exports of important resumes before a major migration.

Health and the decision

Version 5.2.5 shipped on July 30, 2026, and the repository was pushed on August 11. The 117 open issues and pull requests include PDF fixes, accessibility behavior, MCP work, translations, import errors, locale handling, and new career-data ideas. The queue is active and detailed rather than neglected.

Documentation is excellent for both ordinary users and operators. The move away from headless-browser PDF generation shows a willingness to remove operational burden, while structured export keeps user data portable.

Reactive Resume is easy to recommend for creating and maintaining a resume, especially when privacy, customization, and migration matter. Its weak point is the final mile where browser styling becomes a PDF consumed by fonts, printers, recruiters, and automated systems. Treat every export as a proof, not a promise. With that check, the project offers more control and fewer traps than most commercial resume sites.

Alternatives

ProjectWhat it isPick it when
OpenResumeA privacy-focused resume builder that runs in the browser with a simple structured editor.pick this instead when a lighter local-first experience matters more than accounts, sharing, and self-hosted multi-user features.
JSON Resume CLIA command-line tool for rendering portable JSON Resume data through themes.pick this instead when version-controlled structured data and repeatable CLI builds matter more than a visual editor.
Resume BuilderA straightforward browser resume builder with live preview and export.pick this instead when you want a smaller interface and do not need Reactive Resume's service stack or AI features.

What people are saying

  1. [github-trending] amruthpillai/reactive-resume

Sources

  1. Reactive Resume README
  2. Reactive Resume v5.2.5 release
  3. RTL resume rendering issue
  4. Deterministic ATS check request
  5. MCP reverse-proxy authentication fix
  6. Open Sans bold PDF issue