mrkeyoor.com_
Sat 17 Oct 13:35 UTC
Self-Hostedevaluationupdated 16 Sept 2026

reactive-resume review

Reactive Resume is a browser-based resume builder for writing, styling, sharing, and exporting resumes without handing the document to a closed service. You can use the hosted editor without an account or run the full application yourself when you want control over accounts, files, and application data.

+255stars / 7d
Verdict

Our Reactive Resume run installed 1,259 packages in 63 seconds, then passed its 36-second build and 136-second test run, so the code is healthy enough to trial but costly to modify casually. Use the hosted editor if you mainly need a resume today. Self-host it when accounts, sharing, application tracking, and data control justify PostgreSQL plus a 1,489 MB development install.

We ran it

Lab card: what happened when we ran reactive-resumeScreenshot of reactive-resume (rxresu.me)
Install✓ · 63s1259 packages · 1489 MB
Build✓ · 36s
Tests✓ · 136sran, no count parsed
Repo1478 files~121,893 lines of source · 43.1 MB · 6 CI workflows · Dockerfile · tests dir

Answers from our run

Does reactive-resume build from source?

Dependencies installed in 63 seconds (1259 packages), and the build succeeded in 36 seconds. We cloned commit 3221afd into a clean Debian container with 3 CPUs and no project-specific setup.

Do reactive-resume's tests pass?

Yes. The project's own test command exited successfully in 136 seconds, although its output did not expose an individual test count.

Who should not use reactive-resume?

Contributors looking for a small frontend project: our checkout had 1,478 files, and the pnpm install pulled 1,259 packages onto 1,489 MB of disk.

What are the alternatives to reactive-resume?

OpenResume, RenderCV, JSON Resume. Our Reactive Resume run installed 1,259 packages in 63 seconds, then passed its 36-second build and 136-second test run, so the code is healthy enough to trial but costly to modify casually.

Setup3/563-second install; self-hosting still requires PostgreSQL
Docs5/5Clear guides cover Docker, development, storage, auth, and upgrades
Community5/542,998 stars with issues and pull requests active in September 2026
Maturity4/5Build and tests passed; v5.3.0 still carries migration details

Discussed on

  1. hnReactive Resume: A Free, Open-Source, Offline and Customizable Resume Builder3 points

Who it’s for

Job seekers who want live editing, 15 templates, PDF export, and shareable resume links in one browser app.
Households, schools, or small teams willing to run PostgreSQL for a private multi-user resume service.
Developers who want an MIT-licensed TypeScript codebase with JSON Resume import, optional AI providers, and MCP access.
Users who also want cover letters and an application tracker beside the resume editor.

Who it’s NOT for

Contributors looking for a small frontend project: our checkout had 1,478 files, and the pnpm install pulled 1,259 packages onto 1,489 MB of disk.
Self-hosters who refuse to operate PostgreSQL: the official guide requires a separate database and says an all-in-one image with an embedded database is not planned.
Anyone expecting OCR for scanned resumes: v5.3.0 imports PDFs with readable text locally, but scanned PDFs without readable text receive an error.
Developers who want the resume kept as a diffable text file: Reactive Resume stores accounts and resume data in PostgreSQL and centers the editing experience in the browser.

Setup reality

Our sandbox install succeeded in 63 seconds, pulling 1,259 packages and using 1,489 MB. The build passed in 36 seconds, and the tests passed in 136 seconds on commit 3221afd.

The supported self-hosted path needs Docker, a separate PostgreSQL service, APP_URL, DATABASE_URL, and an authentication secret. SMTP, S3-compatible storage, social login, Redis, and AI-provider secrets are optional according to the feature you enable.

We ran the measured commit on Node 22, 3 CPUs, and 8 GB of RAM. The current development guide now calls for Node 24 and pnpm 11.21.0, while the production image also needs persistent uploads and a database backup plan.

Fifteen templates now sit beside cover letters and application tracking

Reactive Resume starts with a familiar loop: choose from 15 templates, type beside a live preview, rearrange sections, then export PDF, JSON, or DOCX. Basic use on the hosted site needs no account. Accounts add saved resumes and public links, while v5.3.0 also has a cover-letter library and an application tracker. That makes it closer to a personal job-search workspace than a disposable PDF form.

That polished surface sits on a sizeable codebase. The commit we measured contained 1,478 files and about 121,893 lines of source in a 43.1 MB checkout. It is a TypeScript monorepo with separate web, server, database, PDF, DOCX, authentication, and MCP packages. A developer can change almost any layer, but a small template tweak still enters a system with several moving parts.

Self-hosting requires an app container and separate PostgreSQL service

The smallest supported deployment is one application container plus a separate PostgreSQL service. You must set the public URL, database connection, and authentication secret. Email can fall back to server logs, and uploads can live on a mounted local directory instead of S3. Redis and an encryption secret enter the picture only for the AI agent workspace and saved AI providers. The self-hosting guide explicitly says an image with an embedded database is not planned.

Source development is heavier than pulling that application image. Our pnpm install added 1,259 packages in 63 seconds and occupied 1,489 MB on disk, more than 34 times the checked-out repository size. The current contributor guide asks for Node 24, pnpm 11.21.0, Docker, and Compose. We measured commit 3221afd under Node 22, so use the current documented runtime rather than treating our older sandbox image as a setup prescription.

What happened when we ran it

Our sandbox installed Reactive Resume in 63 seconds, built it in 36 seconds, and completed its tests successfully in 136 seconds. The run used commit 3221afd from August 23, 2026 inside an unprivileged Debian container with 3 CPUs and 8 GB of RAM. We supplied no secrets. Those results cover repository setup and its own checks, not a live account flow or PDF comparison across browsers.

The checkout had 6 CI workflow files, a Dockerfile, a Compose file, a tests directory, and pnpm workspaces. Nothing in the supplied run log failed, so there is no hidden error to explain away. The useful warning is scale: a 43.1 MB clone became a 1,489 MB installed workspace before PostgreSQL data, uploaded files, or container images. Budget for that if you plan to fork the product rather than simply run its published image.

Client-side PDF export removes a service but still depends on readable input

Since v5.1.0, PDF generation runs in the browser through @react-pdf/renderer. New installations no longer need Browserless, Chromium, or a print service. That simplifies the server stack and makes the 2-service application-plus-PostgreSQL example credible. The editor still owns template layout, custom fonts, rich text, photos, A4 or Letter sizing, and the final file a job applicant will send, so check your chosen template with real content before relying on it.

Import has a firm boundary. Version 5.3.0 can extract readable text from a PDF locally without an AI provider, but scanned PDFs without readable text stop with an error. The 36-second build and 136-second successful test run do not turn that boundary into OCR. If your source resumes are scans or photos, plan a separate recognition step. JSON Resume is the cleaner import route when you already control structured data.

Version 5.3.0 added MCP consent and kept accessibility work visible

The September 6 release repaired MCP OAuth registration and added an explicit Allow or Deny consent screen. Previously registered clients must reconnect to establish the new resource grants. The same release improved heading levels and semantic rich text for screen-reader users inside resume previews, while its notes say public-viewer and exported-document accessibility remain separate work. Those details show careful maintenance without pretending every output path is finished.

GitHub recorded the last push on September 12, 2026, and issue activity continued through September 16. The repository showed 42,998 stars and 50 combined issues and pull requests when fetched. Our inspected commit also had 6 CI workflow files and a passing 136-second test step. Recent reports and fixes cover templates, authentication, self-hosting, accessibility, and MCP, which is healthier evidence than the star count alone.

Use it when browser accounts matter more than a text-file workflow

Reactive Resume earns its weight when one place must hold resumes, cover letters, applications, public links, and user accounts. Its 15 templates give non-designers useful room without exposing raw layout code. OpenResume is a better fit for a browser-local document with fewer server concerns. RenderCV suits engineers who want YAML in version control, while JSON Resume is the stronger choice when the data format must travel between tools.

For most individuals, the hosted editor is the sensible first test because it asks for no account and avoids the 1,259-package workspace. A school, household, or team may value a private instance enough to accept PostgreSQL, persistent uploads, upgrades, and backups. The deciding fact is simple: our build and tests passed, but the development install still consumed 1,489 MB before your first resume or database row existed.

Alternatives

ProjectWhat it isPick it when
OpenResumeA browser-local resume builder and parser with one primary resume design.pick this instead when you want resume data to stay in the browser and do not need accounts, sharing, or an application tracker.
RenderCVA Python tool that turns a YAML resume into a typeset PDF.pick this instead when you want a resume stored in Git and are comfortable editing structured text.
JSON ResumeA resume data standard with a CLI, themes, and a public registry.pick this instead when portability between tools matters more than an all-in-one browser editor.

Sources

  1. Reactive Resume README
  2. Self-hosting with Docker
  3. Reactive Resume v5.3.0 release
  4. Docker Compose issue 3514

More self-hosted reviews

playport · edge-smart-doh · Comma · ProsperoEden · zulu · node_exporter · the whole board →