bento/.
bento/. · local-first, AI-native

The boring deck
is dead.
One file killed it.

Real animation, video, live charts and web-grade design, all in one HTML file that's the document, the editor and the player at once. Drop in a tired PowerPoint and let AI rebuild it for the modern web; perfect the details in the editor. No account, no cloud. It saves itself.

slides · the first app, here now spaces · notes, coming soon dash · sheets & tables, coming soon
Everything ships inside

The file is the software.

No account. No cloud. No “please update to open this”. A Bento deck is an ordinary HTML file that carries its own viewer, presenter and editor, plus your document as readable JSON you can open in any text editor. Nothing to install, break, or expire.

View-source honest

Your data sits in a plain, legible block at the top of the file. No binary formats, no lock-in, ever.

Fonts & assets travel

Typefaces, images and charts are embedded. A deck looks the same on any machine, forever.

Any copy opens alone

Email it, AirDrop it, archive it for a decade. Every copy is the complete product.

Updates you apply

Cryptographically signed releases, offered in-app. You choose when, and the old file stays as rollback.

The gallery

Start from something beautiful.

Four templates, four art directions, and each one is a complete working file. Open one: it boots straight into the app. Save it and it becomes your own deck, fresh identity and all. Every deck below was designed and written by an AI agent editing the document directly.

Local-first · AI-native

Built for AI.
Works fine without it.

Bento is local-first and built for the AI era. The whole app and its data are one file with plain JSON inside, so you can just drop it into a new chat or project (Cowork, Codex, Gemini…) and it edits the deck, or point a coding agent at it on disk. That's how the gallery above was made. No converters, no uploads, no .pptx to fight with. Far leaner than driving PowerPoint with a bot. Bringing an old deck across? Hand the .pptx to any AI alongside bento.page/agents.md and ask it to rebuild. You get real Bento slides (morph, live charts), re-authored, not lossily imported. And if you never touch AI, nothing here ever will either.

The format is the API No binary .pptx to decode Nothing phones home You choose the AI to use

The agent guide → bento.page/agents.md

<!-- inside every .bento.html --> <script type="application/bento+json" id="bento-doc"> { "format": "bento/slides", "title": "Q4 All-hands", "slides": [ { "id": "s1", "transition": "morph", "elements": [ … ] } ] } </script> // and in the console: window.bento.doc // read window.bento.loadDoc(json) // write, undoable

Ways to build it with AI

Drop the file in a chat or project

The whole app and its data are one .bento.html, so any assistant that takes a file has everything it needs. Attach it in Cowork, Codex, Gemini or a ChatGPT project, say what you want, get the edited file back.

“Here's my deck (Deck.bento.html). Following bento.page/agents.md, add a slide comparing Q3 vs Q4 signups as a bar chart that morphs from the previous slide.”

Let a coding agent edit it on disk

Claude Code, Cursor, Aider or your own harness, pointed straight at the file. Run a local, open-weight model (Ollama, llama.cpp, LM Studio) and nothing ever leaves your machine:

“Read bento.page/agents.md, then edit Deck.bento.html: turn the pricing table into a chart and add speaker notes to every slide.”

It rewrites just the #bento-doc JSON block. The app around it is untouched. No export, no re-import.

Chat-only? Paste the JSON

For an assistant with no file support, round-trip the document by hand:

  1. Open the Save ▾ menu → Copy document JSON
  2. Paste it into the chat with your ask
  3. Bring the edited JSON back via Save ▾ → Replace from JSON… (⌘Z undoes)

The agents.md recipe

One page the model reads first. It maps your material to the right feature (numbers → a chart, a comparison → a table, “before/after” → a morph, a drill-down → a state slide), so you get a real deck, not a wall of text.

Get the bento-slides skill

Install once and your assistant handles the rest — it even downloads the latest Bento app by itself, so "make me a deck about…" goes from a blank folder to a finished, opened .bento.html in one pass. It triggers automatically whenever you ask for slides (or run /bento-slides).

Claude Code — from the plugin store:

/plugin marketplace add nyblnet/bento /plugin install bento-slides@bento

…or as a plain personal skill, one line:

mkdir -p ~/.claude/skills/bento-slides && curl -fsSL https://bento.page/skills/bento-slides/SKILL.md -o ~/.claude/skills/bento-slides/SKILL.md

Claude.ai & Claude Desktopdownload the skill (.zip), then upload it under Settings → Skills.

ChatGPT · Codex · Gemini — no install needed: attach bento.page/agents.md to a ChatGPT project, drop it beside your deck as AGENTS.md for Codex, or add it to a Gem.

The native transition

Morph.

Elements that share an id animate between slides: position, size, color, even gradients. Duplicate a slide, move things around, and the motion designs itself.

Q1Q2Q3Q4 Q4 · momentum +975%
Alive on the slide

Charts, video & sound.

Bar, line, pie, scatter, all drawn by Bento's own engine, live while you present: tooltips, zooming, and data that morphs when a bar chart becomes a pie. Drop in video and audio too. They play right on the slide, autoplay on cue, no third-party embed. Short clips ride inside the file; big ones link out, so it stays lean.

Together, live

More private
than any cloud.

Start a live session and the file itself is the invitation. Anyone who opens a copy joins, and a real CRDT engine merges every change conflict-free: edits land in real time, offline work reconciles back cleanly on return. Keys live in your file, never our servers, so the relay only ever sees ciphertext. There's no database of your slides to breach. And access is real cryptographic RBAC: a read-only copy is signed to read but not write, enforced at the edge by signatures, not a permissions checkbox someone can misconfigure.

E2EE: AES-GCM, keys never leave your file Blind relay: stores ciphertext, learns nothing Cryptographic RBAC: read-only enforced by signatures, no server to trust CRDT engine: offline forks reconcile both ways, conflict-free
Local-first, provably

You don't need the cloud.
Or us.

Flip on Offline mode and nothing ever leaves your computer. Updates and online collaboration are hard-blocked, and the app says so in plain words. The file is the durable artifact; everything else is optional convenience.

Yours to keep

Decks survive us. If bento.page vanished tomorrow, every file keeps opening, editing and presenting.

Open source, MIT

Bento's own engines, and the runtime it bundles (reveal.js, Moveable, Selecto), are all MIT-licensed. Auditable, forkable, no lock-in ever.

No telemetry

Update checks send nothing about you or your document. No ids, no analytics, no phoning home.

One file.
Yours. Forever.

Free · no account · the download is the product