Tailor a master resume, then check every changed claim
Resume Matcher starts with a master resume and a target job description. Its documented workflow imports PDF or DOCX, proposes tailored content and lets you edit the layout before exporting a PDF. That is a useful shape for repeated applications: you have an original account of your experience to compare against each proposed version.
The README says tailoring prompts forbid adding skills, employers, tools or metrics absent from the master resume. That's a documented instruction to the model, not evidence that every generated bullet obeys it. If a suggested sentence turns participation into ownership, or adds a technology you haven't used, the clean layout doesn't make it true. Review the wording against your actual work before sending the application.
What happened when we ran it
Our October 21, 2026 sandbox run at commit 05b8f47 installed the apps/backend project successfully in 39 seconds and built successfully in 9 seconds. The record lists 130 dependencies and 684 MB on disk. Tests timed out at 900 seconds, with the last visible progress marker at 26%.
The retained tail shows progress through integration modules for health, host guards, jobs, LLM contracts and MCP. It ends while displaying test progress rather than an exception or final summary. That does not identify a single hung test, an external-service wait or another cause. We cannot turn the visible dots into a completed passing-test total, and the timeout does not prove a particular user-facing operation is broken.
Pip-audit reported 0 known vulnerabilities. That is the dated audit result, not a guarantee about the frontend, every dependency or application access controls. The measured checkout was 53.9 MB across 754 files. The run covered the Python project under apps/backend, so its successful build is insufficient evidence that the browser application or PDF workflow worked.
The recorded configuration specified 3 CPUs, 8 GB RAM and image ghcr.io/astral-sh/uv:python3.12-bookworm. Actual runtime versions require the toolchain logs. Today's setup guide specifies Python 3.13+ and pins Node.js 24.22.1, but neither the sandbox image label nor a successful backend step establishes that those current prerequisites were reproduced.
Local storage still requires a model-routing decision
The README describes a FastAPI backend, Next.js frontend and SQLite storage, with remote-provider and local-model choices. Keeping the resume database on your own machine does not by itself establish where model requests go. If you choose a remote provider, consider the resume content that workflow sends to it. Ollama is the documented route for local model use.
The setup guide also documents a coding-agent mode and an MCP server. In that route, the agent writes content while Resume Matcher stores, checks, scores and renders it. The MCP server needs no LLM API key of its own. That doesn't establish that the connected agent processes your data locally, nor that you avoid whatever access conditions apply to that agent.
The documented MCP route uses a local installation and the same checkout as the web app. Its guide says Docker is not supported for this route yet because a host-started server would otherwise see a different database. PDF export and verification tools need the frontend running, while other tools can work without it. Choose this integration deliberately instead of assuming a backend process alone supplies every function.
The API has no authentication
The setup guide explicitly says the API has no authentication and recommends keeping its host binding local. Its Docker instructions likewise warn that anyone who can reach the service can read resumes and change AI settings. That is a concrete reason to reject it as an immediately deployable shared career portal.
For an individual developer working on their own machine, local access can fit the intended workflow. For remote access, you need to decide how access will be restricted before making personal documents reachable. A host-header setting is documented too, but accepting a hostname does not identify an authorized user. Our run did not assess a protected remote deployment.
The ATS score measures the project's own formula
The README describes an ATS score built from keyword match, skills coverage, job-title match, section completeness and date consistency. It also describes a separate check that reads text back from the rendered PDF to inspect parseability and reading order. Both are documented as plain-code checks rather than LLM judgments.
Those checks answer useful editing questions: did the document preserve readable text, and did it mention relevant experience already present in the master resume? They don't establish the rules of a particular employer's applicant-tracking system or a likelihood of receiving an interview. No hiring-outcome study or comparison with employer screening accompanies our sandbox record.
The last push was October 23, 2026. Recent issue-and-PR activity includes dependency updates and keyword-matching work, alongside the October 21 v1.4.0 release. That supports describing an actively changing project, without inferring support response times or treating the latest documentation as behavior verified at our recorded commit.
RenderCV and Reactive Resume offer other document workflows
Reactive Resume offers a hosted editor as well as self-hosting, with document downloads and public sharing. Consider it when those editing and sharing choices are the main requirement. Its repository has moved to reactive-resume/reactive-resume, so use that current location when evaluating it.
RenderCV takes a YAML resume and renders a PDF. That is a direct fit if you prefer reviewing text diffs and controlling wording yourself. We have no comparative measurements showing that either alternative produces better applications.
Try one redacted master resume against a real job description. Compare the tailored wording with the original experience, then inspect the exported PDF's text order. Those checks will tell you more about whether Resume Matcher fits your applications than raising its internal score alone.

