markdown in · a real deck out

Write the deck.
Don't design it.

Lutrin compiles Markdown into an editable .pptx or a standalone HTML page. You write the content; the engine picks the layout, places every block and holds the brand. There is no box to nudge, because you never drew one.

npx lutrin build deck.md -o deck.pptx

Node ≥ 22 · nothing else to install · MIT

A real slide from the demo deck, compiled by CI at HEAD. Nobody placed the quadrants.

the part nobody hired you for

Every deck costs two kinds of time.

One of them is thinking about what you have to say. The other one is this, and it is the one that runs long:

  • nudge the box 2 px left, then 1 px back
  • pick the blue again, off the slide that already had it
  • shrink the text until it fits — differently on every slide
  • re-align the four icons after adding one bullet
  • redo all of it when the numbers change on Thursday

Lutrin does none of this, because you never do it. The layout comes from the structure of what you wrote — headings, lists, directives — and the engine does the geometry. Change the numbers on Thursday and rebuild: the deck relays itself.

source · output

This is the whole file.

Not an excerpt with the styling omitted — the whole thing. No coordinates, no CSS, no theme to wire up. The panel on the right is the real deck, recompiled from examples/demo.deck.md on every push to main.

deck.md
# Request triage

<!-- layout: funnel -->

## 2,400 received
All channels combined.

## 1,100 eligible
After checking the criteria.

## 320 selected
Funded this year.

One layout hint, and the engine does the geometry. Leave it out and the layout is inferred from the shape of the content.

one file · thirty-seven slides

You chose none of these layouts.

Delivery boards, scored options, charts, diagrams, full-bleed photographs. Each one inferred from the structure of the content, or named in one word. Click any slide to open the deck there.

Open the deck Download the .pptx

In the deck, press P to present, arrows to move, N for speaker notes and a timer. The .pptx is the same deck from the same commit: open it in PowerPoint and rework the text, the tables and the shapes.

three doors

It runs where you already write.

Your terminal

build, preview with live reload, validate. One npx lutrin, no project to scaffold.

VS Code

The preview follows your cursor. Problems are underlined where you typed them, with quick fixes and one-key export.

Your agent

A skill an agent can drive: write, validate, fix, build — and look at the result before handing it over.

Your organization's brand travels as a kit: theme, layouts, fonts and logos in one archive — data, never code. lutrin kit install <url>, and every deck is on brand without a single style decision of yours. Building one is its own workbench: the kit editor puts every colour, font and layout beside a deck the engine just compiled.

the price

Free to use. Paid to go unsigned.

Everything works without a licence — every layout, every kit, every export. A deck compiled without one carries a discreet Généré avec Lutrin at the bottom right of each slide. A licence removes it. That is the entire difference: no watermark, no slide cap, no feature held back.

Solo

$59 USD / year

One person. Every machine you work on.

Buy Solo →

Organisation

$2,990 USD / year

One legal entity. Unlimited people, CI included.

Buy Organisation →

Thirty people rather than ten? Studio is $990 a year. Would rather not subscribe? Solo, lifetime, $149 once, for the current major version line. Prices are charged in your own currency — Canadian buyers pay $79, $590 and $3,900.

A seat is a person, not a machine: install Lutrin on your laptop, your desktop and the build server, they all run on the same key. Buy, invite people by email, and Polar does the rest — it issues the keys, hosts the customer portal and emails everyone their link. Activate once, then compile offline: a licence keeps working for 30 days without reaching the network, and forever without leaving your machine.

the deal

What it will refuse to do.

Put one element at one exact spot. There is no escape hatch and no CSS override, and that is the whole trade: you give up the pixel, you get back the afternoon.

So if a slide has to be art-directed, use something that art-directs. reveal.js and Slidev go much further on the web, Marp is mature and its CSS themes will feel familiar, Pandoc converts anything into anything. Lutrin is for the deck you have to ship on Thursday, in your organization's colours, without opening a design tool.