Engineering · 9 min read

Why we typeset resumes like LaTeX

Word processors reflow; typesetting commits. What we learned rebuilding hyphenation, widow control, and optical margins for a one-page document that has to survive print.

A resume is the most consequential single page most people will ever produce, and nearly all of them are set in tools that treat the page as an afterthought. Word processors are optimized for editing — text reflows, spacing drifts, a one-word edit on line 3 moves a line break on line 40. Typesetting systems are optimized for the artifact: the page is computed as a whole, and it comes out right every time. That difference is why academics still write papers in LaTeX, and it's why we built Risume's renderer the same way.

The page as a program

In our renderer, a resume is a deterministic function: the same content and template always produce the same page, down to the position of every glyph. Line breaks are chosen by a paragraph-at-once algorithm — Knuth and Plass's dynamic programming approach from TeX — rather than greedily, one line at a time. The greedy way makes each line locally fine and the paragraph globally ragged; the global way spends a little slack early to avoid a disaster later. On a one-page document, one bad break is the difference between fitting and not.

Word processors optimize for editing. Typesetting optimizes for the artifact.

The details you notice without noticing

Most of typesetting's value is subliminal. Nobody consciously sees a ligature, but everyone reads a page set with them a little more easily. The renderer handles:

  • Widow and orphan control. A section heading never strands at the bottom of the page; a role's last bullet never sits alone at the top of page two.
  • Hyphenation with taste. Language-aware breakpoints, never in a company name, never two hyphenated lines in a row.
  • Optical margin alignment. Hyphens and punctuation hang slightly into the margin so the text edge looks straight — mechanically straight edges read as ragged.
  • Real small caps and oldstyle figures where the template calls for them, from the font's own tables, never faked by scaling capitals.
Fig. 1 — The fi ligature: two letters the renderer decides to treat as one. Most of typesetting is decisions this small.

Why bother, for a resume?

Because the reader is making a judgment about care, and the page is evidence. A recruiter can't articulate why one resume feels more considered than another with identical content — but the feeling is real, it's measurable in read time, and it comes from a hundred glyph-level decisions the writer never had to make. Our job is to make every one of them correctly, invisibly, for a page that has to survive being printed, scanned, parsed, and skimmed.

Reflow is a fine model for a document that lives on a screen. A resume ends its life on paper — real or simulated — and paper deserves a typesetter.

Maya OkaforDesign at Risume
Published