Structured data in. Typeset PDF out.

A Typst resume builder where layout cannot rewrite your résumé.

In most résumé builders, choosing a prettier template means the words move, wrap, and sometimes get quietly regenerated to fit. Lamr keeps content as structured data and hands it to real Typst templates. Approve the words once, then switch Classic, Modern, Sidebar, or an accent colour — the layout changes and the claims do not.

Real Typst templatesCompiled by the Typst binary
Content stays structuredFields, not a rendered page
Switching costs zero AINo second writing pass
Deterministic outputSame data, same document
Template switching

One résumé. Three editorial systems.

Classic is a dense single-column document. Modern uses a centred editorial header and more breathing room. Sidebar moves contact details and skills into a dedicated rail. All three read the same structured résumé data — none of them can add a word to it.

Lamr sample showing Classic, Modern, and Sidebar Typst résumé templates rendered from the same structured candidate data.
Classic, Modern, and Sidebar from one source Illustrative capture — synthetic candidate data
The compilation path

Writing and layout remain different operations.

That separation is the whole point. An AI generation changes content and costs credits. A Typst compile applies deterministic layout to already-approved data and does not consume another writing call.

Structure the content

Name, title, summary, experience, projects, skills, education, section order, and section names all live as explicit fields.

Edit the draft

Review the tailored language in fields you can change. The structured draft — not a rendered page — is the source of truth.

Select a template

Choose Classic, Modern, or Sidebar. Modern and Sidebar also accept a controlled accent theme.

Compile and store

Typst produces the PDF. Lamr stores it with the application and keeps recent compile snapshots for later edits.

Concrete example

A design change cannot mutate a bullet.

A candidate approves the tailored copy for Northstar Labs, then decides they want a more visual document. Because the template reads data rather than editing it, hierarchy, spacing, rules, and colour can all change while the claims stay frozen.

“Built a shared React + TypeScript component system adopted across two products, reducing frontend build time by 31%.”

Header composition, column structure, section spacing, rules, and accent colour are all recompiled by Typst.

The company, role, dates, bullet text, and the 31% metric remain the same structured values. A template has no mechanism to alter them.

The layout recompile uses zero AI credits. Asking Lamr to redraft the content is a separate, explicit generation action.

Under the preview

The PDF is a compiled artifact.

Lamr passes a validated data file to a .typ template and compiles a PDF on the backend. Both the preview and the download come from that artifact — not from screenshotting HTML and calling it a document.

Lamr sample preview of a compiled Typst résumé PDF beside the structured draft fields that produced it.
Structured résumé data compiled into PDF Sample data illustrates the architecture — raw JSON is not the normal editing interface
What is different

Typesetting is treated like code.

Templates are controlled renderers. The source data stays reusable, the output is deterministic, and a visual change never requires a second writing pass.

01

Real Typst templates

Each layout is a .typ document compiled by the Typst binary, with deliberate page geometry and typography.

02

Content–layout separation

Experience and skills stay in structured fields. Templates decide how those fields are arranged, never what they say.

03

Free template switching

Recompiling an existing draft does not invoke the writing model or spend generation credits.

04

Per-job document choice

Generate a résumé, a cover letter, or both. Matching Typst templates keep the two documents visually related.

05

Controlled accent themes

Modern and Sidebar expose a small, tested palette instead of arbitrary styling that can break contrast or hierarchy.

06

Compile snapshots

Recent structured versions stay associated with the application, so document iteration is distinct from status history.

Product limitations

What this builder is — and is not.

Treating layout as code buys determinism. It also rules some things out.

PDF-first, not DOCXLamr compiles and stores PDFs; it does not export an editable Word document.
Curated templates, not a canvasThere is no drag-and-drop layout editor and no arbitrary font picker.
Content still has to fitExcessive bullets or a long summary may need editing even when the template compiles cleanly.
Compilation is not generationTypst can format approved content; it cannot decide which experience is relevant without the tailoring step.
Backend time variesTypst itself is fast, but a cold backend, upload, or network can make the whole action feel slower than the raw compile.
Private betaTemplates and edge cases are still being tested across real résumé shapes before wider access.
Explore the system

See how Lamr produces the structured tailored draft in the first place, and how each compiled version stays attached to the application it belongs to.

Private beta

Approve the content once. Let Typst handle the page.

Join the waitlist for an invite when the next beta group opens.