How to use Resume Studio
A walkthrough of the things you’ll do in your first hour, then the day-to-day tasks once you’re set up. If you haven’t installed it yet, head to the download page first.
Contents
- First launch
- Add your first CV
- Edit in two languages
- Build a Resume View
- Export to PDF or Word
- Snapshot history & undo
- Translation assist
- AI assist
- Sharing an instance with colleagues
- Sync CVs across computers
- Backups
- Stopping & uninstalling
- Troubleshooting
First launch
Double-click the launcher for your platform (see the download page
if you’re not sure which file). A small log window opens, the app claims a free
local port (80 if it’s available, so the address needs no :port suffix at all,
otherwise 1923), your browser opens automatically to the home screen, and a
Resume Studio icon appears in the system tray.
The app is reachable at a name rather than an IP: resumestudio.localhost
works in any browser with nothing to set up. Settings → Local address can
also offer resumestudio.local, which every tool resolves (curl, a script,
another device’s browser pointed at this machine) at the cost of one
administrator prompt to add a line to the system hosts file. Either way the
server still listens on loopback only.
That home screen is the picker — your list of CVs. It starts empty.
Stop the app at any time from the tray icon → Quit Resume Studio (closing
the browser tab does not stop it). Closing the launcher window or pressing
Ctrl-C in it works too; the tray is the way to quit the no-window .vbs
launcher.
Add your first CV
Two ways to start, both from the picker:
- Start fresh — opens an empty CV with a name you pick. Add sections as you go.
- Import — bring an existing CV in:
- a CVpartner JSON export (languages your export under-declared are detected from the content),
- a LinkedIn data-export
.zip, - a Europass XML or JSON file,
- a Resume Studio backup file (
.json), or - any PDF / Word CV via AI import — paste the text, run it with your configured model (or any LLM you trust, manually), and preview the result before it becomes a resume.
Each CV gets its own URL, so you can keep multiple master CVs (one per line of business, joint venture, or career chapter) side by side. Use the picker — or the resume dropdown in the editor header — to switch between them.
Edit in two languages
The big idea: every translatable field shows both languages on screen at once. No tabs, no toggling. The primary language is on the left, the secondary on the right with a soft cyan tint.
From the header’s language switcher you can:
- Pick which language is primary and which is secondary.
- Swap them with one click.
- Hide the secondary column when you want to focus on one language.
- Click the refresh icon to re-detect languages in your content (handy after import, in case your file had locales the metadata didn’t list).
The two columns are independent — typing in the secondary input never touches the primary, and vice versa.
Tip: the Overview section shows your translation completeness as a percentage per language, plus exactly which fields are missing.
Build a Resume View
A Resume View is a curated subset of your master CV with its own intro, styling, and section choices — that’s what you actually send to a client.
- Open Resume Views from the sidebar and add a new view.
- Give it a name, a custom introduction, and (optionally) a page limit.
- Tick the sections to include and drag them into the order you want.
- For each included section, pick a detail level — Off, Summary (one line per item, optionally as aligned tabulated columns), or Full.
- Exclude individual items you don’t want in this view (e.g. early-career roles for a senior position).
- Toggle starred only if the view should show only your starred projects/skills/etc.
- Tune the styling (density, font, accent color, margins, tag style) and the header/footer (which contact fields, labels, separators, photo and logo placement, footer note) — these live on the view, not the master CV.
The live preview pane re-renders as you tune the view, and shows a page-count estimate against your page limit, so you can dial it in without exporting first. A one-click template (compact technical, formal management, minimal one-pager) is the fastest starting point — apply one, then adjust.
Export to PDF or Word
From inside the Resume View editor, pick the export language, then:
- Export PDF — downloads a
.pdfin one click. No print dialog, no pop-ups. - Export DOCX — downloads a
.docxfile. The first export fetches the word-export library (~350 kB, cached afterward), so the very first click can feel a touch slower. - Export text / Markdown — ATS-friendly plain formats for application portals that mangle rich documents.
- Export Europass XML — the
SkillsPassportfile public-sector tenders often require. It carries identity, work history, education and languages (with CEFR levels); sections Europass doesn’t define — projects, courses, certifications and so on — aren’t part of that format, so reach for PDF or DOCX when you need them.
Every export respects your view’s section list, detail levels, exclusions, styling, and header/footer — and all document labels (headings, months, “Present”, contact labels) come out in the export language.
Snapshot history & undo
Resume Studio saves snapshots of your CV on every save (deduplicated, last 50 kept per CV). The History button in the header opens the list — pick any entry, preview it, and restore it in one click.
- A restore is itself a saved mutation, so you can undo it (Ctrl/Cmd+Z) if it wasn’t what you wanted.
- Snapshots are per-CV, so restoring one CV never touches another.
Beyond snapshots, the editor has undo / redo with debounced history:
- Ctrl/Cmd+Z — undo
- Ctrl/Cmd+Shift+Z — redo
Or use the arrow buttons in the header.
Translation assist
When you start filling in the secondary language, two buttons appear next to each field:
- Copy from primary — duplicates the primary value into the secondary field. No network, no provider needed. A good starting point if you’ll edit the wording yourself.
- Draft translation — appears only when a translation provider is configured. Sends the field’s primary value to your chosen provider and pre-fills the result. The draft is always flagged as review-required; editing the field clears the flag.
To turn on Draft translation, click the gear icon in the picker to open Settings, then pick a provider:
| Provider | What you need | Notes |
|---|---|---|
| LibreTranslate — local (Docker) | Docker Desktop installed | You pick which languages to install (each a few-hundred-MB download on first start). Use Start / Stop / Check status. Fully self-hosted. |
| LibreTranslate — remote URL | The URL of a LibreTranslate instance you host | Optional API key. |
| DeepL | A DeepL API key | Free and Pro keys both work. Best quality for Norwegian/Swedish/Danish. |
| Google Cloud Translation | A Google Cloud API key | |
| Microsoft Azure Translator | The key + a region (e.g. westeurope) |
|
| Use the AI model from the AI assist tab | An AI assist backend (next section) | Zero extra config — drafts run on that model. |
After saving, Test connection drafts one short phrase to confirm the configuration works.
CV text only ever travels from your browser through the app to the provider you chose — there is no Resume Studio backend in the loop.
AI assist
The AI features — one-line summaries, “Bulk summarize”, job-posting tailoring, AI import, bulk add, skill suggestions, drafted highlights, the anonymization check, and page-fit advice — all run on one model you configure in Settings → AI assist:
- Local Ollama (Docker-managed) — the app starts the container and pulls your chosen model for you. Your CV never leaves the computer; the buttons say so.
- Remote Ollama, OpenAI, or any OpenAI-compatible endpoint — paste a URL and/or key. The buttons then say content is sent to that provider, and whole-CV tasks confirm once per session before the first send.
Pick a model — the field lists what your provider actually offers right now, fetched from the provider itself rather than a built-in shortlist that goes stale when a model is retired (for a local Ollama it also shows download sizes) — then hit Test and Save. Every AI result is a draft you review before it touches your CV.
No model configured? Every AI feature still works manually: copy the generated prompt into whatever AI you already use and paste the answer back. Nothing is ever sent by the app itself on that path.
Sharing an instance with colleagues
Only relevant if you run Resume Studio as a server for more than one person. The desktop app is single-user and never asks you to sign in.
First run. Start the server and look at its output: it prints a one-time setup code. Open the app, enter the code, and create your account — it becomes the owner and takes ownership of every CV already on the instance. Save the recovery codes it shows you; that screen appears once.
Adding someone. Settings → Team → Invite. Copy the link and send it to them however you normally would. They open it, pick a password, and they are in.
What they can see. Nothing of yours, unless you share it. Each person’s CVs are private by default. Sharing one makes it readable and not editable — a colleague opening it sees a read-only copy and cannot change your words. As the owner you can see everyone’s, which is what makes staffing and backups work.
If someone forgets their password. Any of these work:
- they use a recovery code from the set they saved when the account was made;
- you go to Settings → Team and mint them a reset link;
- they click Forgot password? — only if you have configured email;
- and if you are locked out with no other owner, run
npm run recoveron the server, which lists the accounts and mints a link.
Handing over a CV. If a résumé ends up owned by the wrong person — most often after importing somebody’s backup, since whoever imports it owns it — an owner can reassign it from the picker. A file cannot prove who wrote it, so the app never guesses from its contents.
Sync CVs across computers
If you want the same set of CVs on more than one machine, use the backup folder feature. This is not real-time collaboration — it’s a sync for one person hopping between computers.
- On computer A, open Settings → Backup & sync folder and paste in a folder inside your cloud sync client (Google Drive, Dropbox, OneDrive). Save.
- Use the app normally. Resume Studio writes one JSON file per CV in that folder, atomically, whenever your CVs change (about once a minute, only if something actually changed) — plus a shared registry file, so a single CV file can rebuild the skills and roles it references on a fresh machine.
- On computer B, set the same folder in Settings. B pulls in A’s CVs automatically — at launch, and then continuously while it runs: it watches the folder and merges anything newer your sync client drops in, within seconds, without a relaunch. (You can still force it from the picker’s Sync & backup panel with Restore from folder.) If the CV you happen to have open was updated on the other machine, an “updated on another device — Reload” notice appears above the editor.
Merge rules (safe by design):
- A CV that’s newer in the backup replaces the local copy.
- A CV that’s only in the backup is added.
- A CV that’s only local stays.
- A restore drops a snapshot first, so it’s reversible from History.
- The only thing that removes a CV is deleting it yourself. Deleting one writes a marker — its id and the time, nothing else — that the other machines honour, so a delete on one computer doesn’t come back from another. Edit a CV after deleting it elsewhere and the edit wins: a newer copy counts as a revival.
If you edit the same CV on two machines without syncing in between, the last one to sync wins. (If a background sync brings in a change to a CV you have open, the Reload notice offers it; if you also have unsaved edits, the next save raises the Conflict modal instead so you choose which side wins.)
Backups
Two independent backup mechanisms; use whichever fits the situation:
- Per-CV export (from the editor’s header) — downloads a single
.jsonfile for the active CV. Versioned and portable. Loading it from the picker creates a new CV rather than overwriting one. - Sync folder (Settings → Backup & sync folder) — the per-CV JSON files in
your cloud-sync folder, described above. Settings → Backup & export also
downloads exactly those files as one
.zip, which you can drop back on the picker later; it merges by CV rather than creating copies.
And, server-side, every save is snapshotted automatically (last 50 per CV).
Stopping & uninstalling
- Stop the app — tray icon → Quit Resume Studio (or close the launcher window / Ctrl-C in it).
- Move the app — drag the folder anywhere. Your data is in the per-user folder (see the download page), not in the app folder.
- Uninstall — delete the app folder. Delete the per-user data folder separately if you also want to remove your CVs.
Troubleshooting
- The browser didn’t open. The launcher window prints the URL — open it manually. Some pop-up / launch blockers prevent the auto-open.
- Where are the logs?
resume-studio.login the per-user data folder. - “Draft translation” button is missing. Open Settings, pick a provider, and save. With the Docker option, models download on first launch — until that finishes, drafts will fail and Test connection reports “not reachable”.
- AI buttons are missing. No model is configured — set one up in Settings → AI assist (or use each feature’s manual copy/paste path, which is always there).
- “Restore from folder” is greyed out. No backup file exists in the sync folder yet — click Back up now on the first machine first, and wait for your cloud client to sync the file across.
- Conflict modal popped up. That CV was edited somewhere else (another browser tab, or another machine that synced first). The modal shows what changed and lets you keep mine (re-save your version on top) or discard mine (take the other side).
- The port is busy. The launcher tries port 80 first (so the address needs
no
:portsuffix at all), then 1923, then climbs from there. Check the launcher window for the actual URL. Pin one withRESUME_LOCAL_PORT, or in Settings → Local address.
If something else goes wrong, file an issue —
include the contents of resume-studio.log and your OS.
That’s the tour. Head back to the home page →