Your terminal
build, preview with live reload,
validate. One npx lutrin, no project to
scaffold.
markdown in · a real deck out
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
HEAD. Nobody placed the quadrants.the compiler · running in this page
No install, no account, no upload. This is
packages/core — the same code npx lutrin runs —
loaded into your own browser. Type on the left; the engine lays it out on
the right, and your text never leaves your machine.
The two buttons hand you the real files — the standalone
.html and a .pptx you can open and retouch, both
built in this tab and uploaded nowhere. Three things the page will refuse
rather than fake: Mermaid diagrams need a headless browser, and icons and
images are read from disk. Ask for any of them and it says so instead of
quietly dropping them — those three are the reason to install. LaTeX used
to be the fourth and is not any more: equations render here, and arrive in
the .pptx as native PowerPoint equations.
the part nobody hired you for
One of them is thinking about what you have to say. The other one is this, and it is the one that runs long:
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
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.
# Request triage
<!-- layout: funnel -->
## 2,400 received
All channels combined.
## 1,100 eligible
After checking the criteria.
## 320 selected
Funded this year.
# Indicators
:::metric
33
Layouts available
↑ +2 this release
:::
:::metric
15
Chart types
↑ +7 this release
:::
:::metric
0
Coordinates in this file
→ by design
:::
# Budget by quarter
The chart is drawn by the engine, in the
brand's colours, on a palette checked for
contrast and colour blindness.
```chart
type: bar
categories: Q1, Q2, Q3, Q4
Planned: 120, 150, 180, 210
Actual: 110, 155, 175, 190
target: 165
```
One layout hint, and the engine does the geometry. Leave it out and the layout is inferred from the shape of the content.
Three
:::metric directives, three cards. The arrow picks its own
colour — and (+) flips it when a fall is good news.
A fenced
chart block, drawn by the engine — the same geometry in the
HTML and in the .pptx.
These three are somebody else's content. Yours goes in the playground above — the same compiler, recompiling as you type — or in its own page, which gives it the room this card cannot.
three doors
build, preview with live reload,
validate. One npx lutrin, no project to
scaffold.
The preview follows your cursor. Problems are underlined where you typed them, with quick fixes and one-key export.
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.
Eight of them are installable right now, each
one showing the same slide compiled inside it — the words held still so
that everything that moves is the brand. Building your own is its own
workbench: the kit editor puts every colour,
font and layout beside a deck the engine just compiled.
your words
The playground on this page is not a service you send a deck to. The compiler itself is delivered to your browser and runs there, so what you type is compiled a few centimetres from where you typed it. No upload, no round-trip, no draft of your slides sitting in somebody else's storage.
On your own machine it holds by rule rather than by luck: nothing on the compilation path touches the network. Your slides are never read, never stored, never used to train anything and never turned into marketing. The reorganisation, the numbers before they are announced, the client's name — they stay where you wrote them.
What this site does count, so that you can weigh it: page views without cookies, and the fact that somebody started typing in the playground — a yes or a no, never a character of what was typed. That is the whole list. All of it is in the open: read the code, or cut the network and watch the compiler carry on.
the price
Lutrin is MIT, free, and free in the way that needs no footnote: no watermark on your slides, no slide cap, no export limit, no feature held back for a paid tier and no account to create. Every layout, every chart, every kit and both export formats are what you get on the first run.
What you compile carries your organization’s brand and nothing of ours. Install a kit, build the deck, hand it to the client — there is no line in the corner announcing the tool it came out of.
Nothing. There is no telemetry in Lutrin, no account, and nothing to check with anybody: the compilation path does not touch the network at all. The only requests a build makes are for content your own deck asks for — an image you referenced by URL, an icon not yet in the local cache. Cut the connection and it keeps compiling.
Yes, and nothing in the tool treats a build server differently from
your laptop. npx lutrin build deck.md in a runner is the
same command with the same result. Install your kit in the image, or
point --kit at a directory in the repository, and the
decks come out branded.
Yes, all three, with nothing to sign. The MIT licence covers the code and the decks are yours outright. The one limit is the name: “Lutrin” is a trademark, so a fork you redistribute needs a name of its own.
the deal
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.
Written out properly, one page each, checked against their own current documentation: vs Marp, vs Slidev, vs reveal.js, vs Pandoc.