Resumeboard
About

A resume builder that stops at the edge of your browser.

Resumeboard is a set of static files. You open it, you type, and the pages you download are yours. There is no account to create, no server that holds your document, and nothing that reports back. That is not a policy promise bolted onto a normal app. It is the only kind of app this codebase can be.

What it actually is

Three things: an editor, a set of templates, and an export path to PDF and plain text. You edit directly on the page — the document is the editing surface, so what you see while you type is what prints. There is no form wizard on the side pretending to summarise your life.

  • Everything is one document. Sections in the order you want them, entries inside them, nothing hidden in a drawer.
  • Every field is a live check. Empty required fields, broken links, and thin sections are flagged as you type, not after you export.
  • Design is a small set of decisions. Margins, type size, line height, heading treatment, one accent colour. No theme gallery.
  • Print is the destination. The page size, margins, and type scale are measured in points so the screen and the paper agree.

Where your resume lives

When you type, the app writes your resume to your browser's storage on the same device. It stays there between visits. It is not uploaded, because there is nowhere for it to be uploaded to.

That has one real consequence worth stating plainly: your resume is tied to this browser, on this device, at this address. Clearing site data, using a different browser, or opening the app from a different folder gives you an empty document. If that matters to you, export a backup file. The privacy page explains how to delete the stored copy and how to keep a backup you control.

Why it is built this way

A resume is the most sensitive document most people own, and the standard way to build one online is to hand it to a stranger's database. We took the other option seriously enough to accept the trade-offs that come with it:

  • No accounts, so no recovery. If you lose the device you lose the local copy. Backups are the answer, and the app makes exporting one a two-click job.
  • No collaboration, so no merge conflicts. There is no shared document, no comments, no "Alex is editing".
  • No server, so no cross-device sync. If you want the same resume on your phone, you import the exported file.
  • No tracking, so no product analytics. We cannot tell you which button people press most, because we never find out. The trade-off buys a document that never leaves the machine.

What it deliberately does not do

  • No score out of ten. An ATS is not a grader, and a number that looks authoritative is usually neither.
  • No job-board scraping, keyword stuffing, or "beat the filter" advice.
  • No auto-formatting that rewrites your sentences into passive voice.
  • No login, no cloud sync, no "share with your team".

The one network request the app can make is fetching a PDF parsing library from a CDN, and only after you choose Import from PDF and pick a file. Nothing else in the codebase opens a connection. See the privacy page for the itemised list.

Accessibility and quality

Every control has a label, every icon-only button has a spoken name and a tooltip, and the whole app is operable from the keyboard. Focus is visible at every step, colour contrast is checked against the token palette in both light and dark mode, and nothing animates when your system asks for reduced motion. It is usable at 360 pixels wide, where the section rail becomes a drawer and the editing panel becomes a sheet.

Dark mode is a peer of light mode, not an inverted afterthought. The token file defines both palettes side by side, and the document templates inherit the same names.

See a finished resume first

The examples are complete, fictional resumes written for six roles — product designer, software engineer, marketing manager, nurse, accountant, and teacher. Each one is annotated with why it works, and each one can be loaded into the editor as a starting point, so you can see the structure you are aiming for before you type a word of your own.