Origami Labs
One file. The whole deck.
A presentation that opens itself. Any browser, no app, no account, no network — and any AI can redraft it in seconds.
The mission
PowerPoint is dead.
Long live HTML.
Every tool was shaped by the era that made it, and PowerPoint is a product of the desktop age: a person, a mouse, an afternoon spent nudging shapes. The agentic era doesn't reward that.
The reflex is to bolt AI onto the familiar tool and ask it to keep pace. The better question is the one almost nobody asks: given how we work now, is there a tool that simply fits better? For decks and reports there is, and it's HTML — the native medium of every AI assistant. An agent drafts, restyles and rebuilds a deck in seconds; the page is live and interactive, pulling real data into one file; and it opens in any browser with nothing to install.
So the mission is to replace Office 365 and usher in a new era of reporting built in HTML. PowerPoint was an ill-fitting tool — try building a Gantt or a node graph in it and watch an afternoon disappear. The point isn't the format, it's the habit: the teams that pull ahead won't make old tools tolerate new technology — they'll put the familiar one down and pick up the tool the moment calls for.
See it for real
Real decks. Playing right here.
Not a video, not a screenshot — each of these is a genuine .origami.html file running in the page. Flit between them, click in, drive it with the arrow keys. Then download one and it works the same, offline, forever.
The old way
Stop nudging shapes at 11pm.
PowerPoint makes you the layout engine. Ask an AI to help and it scripts a renderer: python-pptx shoving rectangles by the millimetre, one brittle pass after another. Origami just describes the slide and lets the browser place it.
Left: the AI nudges coordinates forever and never quite lands. Right: you describe the blocks; layout, type and motion are built in.
The shift
HTML is the native language now.
The browser is the most widely installed runtime on earth, and it already does layout, typography, motion and print. Build on it and you get a live Gantt, a filterable tracker, charts and video, while doing less hand-work, not more. More power and more simple, at the same time.
The folds system
Origami folds. The AI unfolds just one.
A deck is folded paper. The model never sees the whole sheet. It unfolds one fold: a bounded, self-contained chunk of 30 to 600 lines. It edits that, and folds it back. Change the slide's identity and the fold is rejected, not silently repaired. That's why the largest deck stays cheap to change.
<!-- ORIGAMI EDIT CONTEXT --> <!-- Deck: Welcome to Origami · Slide: numbers · Kind: stats --> <!-- Manifest entry (do not modify) --> { "id": "numbers", "kind": "stats", "label": "KPIs" } <!-- Rules: keep the <template> tag and its data-origami-slide / data-kind exactly. No <script>, no external URLs. Work with the classes; invent nothing. --> <!-- THE SLIDE (edit this; return the whole <template>) --> <template data-origami-slide="numbers" data-kind="stats"> <div class="slide-inner"> <p class="eyebrow">Numbers</p> <h2>Headline numbers</h2> <div class="card-grid"> <div class="stat-card"><div class="big">128</div><div class="lbl">Decks emailed</div></div> <div class="stat-card"><div class="big">7</div><div class="lbl">Seconds to open</div></div> </div> </div> </template>
The model is handed one fold and asked to tighten a number. Watch what it can and can't do.
The edit splices straight into source. Nothing else re-serialises; the rest of the deck never entered the model's context.
The fold carries its own rules. If the reply changes data-kind or the slide id, applyChunkReply rejects it outright (finding F27). Drift can't sneak in.
Performance
Lighter to make. Faster to change.
An HTML deck is something a model can actually read — so less of it has to enter the context window to build, and far less to change, because the AI rewrites one fold, not the whole file.
Native to the model. It's HTML and CSS — text the model already understands. No binary archive to unpack, no shape coordinates to parse.
One fold, not the whole sheet. A change is scoped to a single bounded chunk; the rest of the deck never enters context.
Assets by reference. A four-megabyte photo is one id, not four megabytes of context.
Byte-stable saves. Edits splice into source. Nothing re-serialises, nothing drifts.
The surface
Things a slide could never do.
Re-theme the whole deck, live.
Pick an accent and every heading rule, card, pill and the crane itself re-stamp in the same breath. No find-and-replace, no master slides. The brand follows the deck.
A roadmap you can drag, right inside the slide.
This is a real critical-path chart, not a screenshot of one. Drag a task across the weeks; filter by lens. It saves back into the same one file.
Drag a bar →
A tracker that filters as you type.
Search, hide what's done, read the status at a glance, all in the recipient's browser, writing nothing to disk until they choose to save a copy.
| Action | Owner | Status | Due |
|---|---|---|---|
| Lock the cover art | Mara | In progress | Fri |
| Export the Q3 numbers | Sam | Done | Mon |
| Draft the risk slide | Priya | Blocked | Wed |
| Review with finance | Sam | In progress | Thu |
| Send calendar invite | Mara | Done | Tue |
| Rehearse the close | Priya | In progress | Fri |
The magic
Double-click. It plays.
No viewer to install, no cloud to sign into, no link that rots. Email it, AirDrop it, commit it to a repo. Present mode, keyboard nav and print-to-PDF all live inside the one file.
One file away
Your next deck is a single, self-contained file.
Studio and the format docs are on their way. Today, the deck you watched in the hero is the download.