MiniWho: Open-Source Resume Tool That Cuts the Paywall and Keeps Your Data
Resume tools routinely gate PDF export behind subscriptions and keep personal data on their servers. MiniWho eliminates both problems, and its pagination and template security approaches transfer directly to other document-generating web apps.
MiniWho rethinks the resume tool from the ground up. Content is organized into 18 fixed modules plus up to five custom ones, and templates are just JSON files with theme tokens and constrained CSS. Switching templates never loses content, and every layout shares the same pagination system: breakpoints are calculated on the A4 page and used identically by the on-screen preview, browser print, and server-rendered PDF. The page you see is the page you send.
Privacy is built into the sharing model. Share links use high-entropy random URLs with optional passwords, expiry, and print/download permissions. Fields you hide are stripped server-side, never reaching the visitor's browser. Resume photos go through HMAC-signed short-lived URLs. Diagnostics are rule-based and deterministic, scoring on five dimensions without any external AI. Deployment is a single Docker command with SQLite or MySQL, and the admin backend controls registration, quotas, and more.
The project is Apache 2.0 licensed, with a Vue 3 + Element Plus front end and Java 17 + Spring Boot 3 back end. It runs as one container and includes all templates and a headless Chromium for PDF rendering. For developers who want to host their own resume tool, it's a complete, self-contained solution.
Rule-based, deterministic scoring gives resume diagnostics reproducibility and privacy, a deliberate contrast to the current AI-everywhere trend.
Limiting templates to constrained CSS with no HTML or JS creates a clean security boundary, letting community templates alter appearance without ever gaining code execution.
Using identical pagination breakpoints across screen, print, and server-rendered PDF is an exactness that most document-generating web apps don't achieve, and it's the core reason the exported PDF matches the preview.
Server-side stripping of hidden fields, rather than client-side hiding, is a privacy pattern that other tools should adopt; it guarantees sensitive data never leaves the server.