Bento is a single-file PowerPoint alternative that includes its own viewer, editor, and presenter, enabling offline use, local-first collaboration with end-to-end encryption, and AI-friendly editing through plain JSON data.

Stars

2,727

7-day growth

+1,665

Forks

170

Open issues

13

License

MIT

Last updated

2026-07-27

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It redefines document portability by embedding the full application within the file, ensuring it remains functional forever without dependencies on cloud services or installed software.

Who it is for

  • Individuals seeking portable presentation tools
  • Teams requiring local-first, encrypted collaboration
  • Developers and AI agents wanting programmable document editing
  • Privacy-conscious users avoiding cloud lock-in

Use cases

  • Creating and presenting slides entirely offline
  • Sharing decks with anyone regardless of installed software
  • Collaborating on presentations with end-to-end encryption
  • Using AI assistants to edit slide content via JSON

Strengths

  • Self-contained single HTML file (~560 KB) with no installation
  • Local-first design with offline mode that blocks network access
  • End-to-end encrypted collaboration with keys stored only in the file
  • Plain JSON document model enabling AI and agent editing

Considerations

  • Collaborative undo is snapshot-based and may revert concurrent edits
  • Editing is desktop-first; mobile primarily for viewing and presenting
  • Collaboration requires running a sync relay server (optional for real-time sync)

README quick start

Bento — the office suite that fits in a file

This PowerPoint alternative is a single HTML file. A Bento deck carries its own viewer, presenter, and editor inside the document — open it in any browser, edit it, present it, send it. The person you send it to needs nothing: the file is the software.

Try it in 10 seconds: open bento.page/slides — that's the entire app, running on a starter deck that doubles as the feature tour. Or grab a designed template from the gallery and make it yours.

Download the app: grab the single Bento_Slides.bento.html from the GitHub Releases page or straight from bento.page (~560 KB, no account, no installer). Open it in any modern browser and it is the editor. Save, and it rewrites itself with your deck inside.

Why this exists

Office documents used to be things you had. Now they're things you rent — locked in someone's cloud, behind someone's login, readable only while a company keeps its servers on. Bento takes the other path:

  • One file, forever. Deck, fonts, images, charts, animations, and the full editor travel together. A copy from 2026 will open in 2036.
  • View-source honest. Your data sits in a plain, readable JSON block at the top of the file. No binary formats, no lock-in, no archaeology.
  • It saves itself. The file rewrites its own data block on save (File System Access API, with a download fallback). No app to install, ever.
  • Local-first, provably. Flip on Offline mode and nothing leaves your machine — updates and collaboration are hard-blocked, and the app says so.

What's inside

FeatureDescription
Morph presentingElements that share an id animate between slides — position, size, color, even gradients. Duplicate a slide, rearrange, and the motion designs itself.
Live collaborationE2EE (AES-GCM) with keys that live in your file, never on a server. The file itself is the invitation: anyone who opens a copy joins. Offline edits merge back precisely — our own CRDT, character-level text merging included.
A blind relayThe optional sync relay (server/sync-worker/) stores ciphertext and learns nothing. Read the source

Related repositories

Similar projects matched by category, topics, and programming language.

TanStack
Featured
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web DevelopmentFrontend Frameworks
14,861
vercel-labs
Featured
vercel-labs GitHub avatar

scriptc

scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.

Developer ToolsCode Quality & Build
1,985
Jakubantalik
Featured
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI & Machine LearningAI Agents
1,191