Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • What an ambitious and impressive project! I'm going to try it.

    One note: The home page says "Nothing phones home," but the Bento files I've examined include a cloudflareinsights.com beacon.

    by aag
  • Cool project, I had been using markdown based slide tools for similar use-cases:

    - Marp: https://marp.app/

    - Slidev: https://sli.dev/

    - Revealjs: https://revealjs.com/

    Something more similar, based on HTML and CSS but instead based on the Svelte framework, was Animation: https://animotion.pages.dev/

    It focuses on presentations that include animations, but of course it's flexible.

  • Hey just wanted to say I think this fills an extremely common niche in the corporate world. There are a couple of teams at my company who switched to some variant of fancy html/javascript and away from either cloud or desktop copies of off-the-shelf presentation or visualization software because they were tired of bugs not being fixed or custom features not getting added

    Internal IT fiefdoms everywhere should be very afraid

  • > Go to https://bento.page/guestbook/ to try out the live guestbook to experience share editing / collab.

    My M1 Mac froze in the end (had to hard-reboot), but that was so much fun! I guess there’s a reason Figma uses WASM and a custom renderer, though I guess your implementation should work fine for most cases (i.e. not when all of HN are trying to edit everything simultaneously :^)

    Two notes:

    1. It would be nice if another person changing something unrelated to what I’m doing didn’t reset the focus for me.

    2. WAY too llm-y copy both on the landing page and the example deck. Your HN submission text is way easier and more pleasant to read.

    And huge kudos for releasing this as FOSS!

  • Love it. Like some others here, I've been making html presentations with code-agents and they come out really nice. Other alternatives for that suit different purposes are these:

    - slidev markdown-based slides, I often have a code-agent make these. https://github.com/slidevjs/slidev

    - typst slides are great looking too, especially with math etc. Again easy for agents to do

    One minor nit: Based on the title, I thought this was literally a tool that had something to do with PowerPoint, but "PowerPoint" is used here as a synonym for "Presentation", which is ironic/unfortunate given how many dislike PowerPoint.

  • Awesome. I've been trying to promote this kind of Single-File Web Apps as a concept - feel free to add this to the proposed Wikipedia page: https://en.wikipedia.org/wiki/Draft:Single_File_Web_Apps
  • This is amazing. I also think this will become more common. I feel there is a lot of software that can just be served locally via html/typescript/react etc and even have local state. There's just not been an economic incentive till now.

    I am personally using kimi k3 to create a mobile friendly set of games, starting from math like linear algebra to quantum physics - neurodivergent friendly, completely local state, served from github pages - to get someone interested in the field. This needs an economic incentive to exist without LLMs, because of so much different expertise needed, and time.

    if anyone's interested in the games let me know - i plan to play it myself, improve it, remove bugs etc before publishing on HN.

  • Hi, I'm the creator of Bento. Just wanted to share a bit more about how I created it beyond what's in Github.

    The file contains more or less two sections. There is a plain block of JSON near the top of the file which is the slide data. You can read, grep, or point a harness at it. The app itself is in a base64 blob that loads through a small shim which deflates in the browser with DecompressionStream, which keeps the package small and so that we don't need to fetch any external files at runtime. File System Access API is used for JSON writeback into the same file, which falls back to a plian download and all updates are ECDSA signed.

    I started with reveal.js which served as a base, and incorporated GSAP/Flip to handle the animation. Then I added charting with echarts, but due to a number of issues with size and how the worked, I ended up re-implementing both.

    What I'm most pleased about is how seamless the CRDT works. The blind relay is a small file that runs on Cloudflare Durable Objects, and all it sees are the encrypted data from the clients. Collab is off until we turn it on in the app (by starting a session by sharing by invite file), and then some sets of keys are generated. Access is handled by user key, and you can have read-only users, and also revoke live collab access by user as well.

Explore Birbla archives

Bento - An entire PowerPoint in one HTML file (edit+view+data+collab) · Birbla