12 ms·
Show HN: Bento - An entire PowerPoint in one HTML file (edit+view+data+collab)
Over the past few months, our team has been building more and more slidedecks using web frontend technologies with coding harnesses like Claude Code, but a common complaint is to make even small edits we need to edit the code either manually or via the harness.
To avoid this loop, I ended up creating Bento, a single HTML file with everything you need in a slide tool including animations and shared editing. There's no install or cloud login, everything works offline. The default deck is around 560 KB and it doesn't need to fetch anything once you got it.
Open it in a browser and then you can edit, present, print and save. Share it via email or via Airdrop and all they need is a browser to edit, present and also do live collab on the slides. Drop it in to Claude or ChatGPT to transform existing pptx files into Bento slides. There is no cloud involved, only an encrypted blind relay to allow for shared editing. The relay doesn't see any of the data.
Check it out at https://bento.page/slides/ https://bento.page/slides/ which takes you straight to the editor.
Go to https://bento.page/guestbook/ https://bento.page/guestbook/ to try out the live guestbook to experience share editing / collab.
There is also a gallery with some sample decks on the website - https://bento.page/ https://bento.page/
All the code is MIT licensed and you can find it here - https://github.com/nyblnet/bento https://github.com/nyblnet/bento . I used reveal.js with several other libraries (including some homegrown ones), and Claude Code.
- starfallg 3mo agoHi, 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.
- mbreese 3mo agoThis was my biggest question. Thanks for preemptively answering (and being proud!). When I was playing with this, I immediately thought of TiddlyWikis, which I've always been fond of, but they never took for me. However, an easily editable presentation -- that's a use case I can understand. I couldn't see how there was a CDRT when I'm just working with a single file. I was trying to figure out where the server was. So -- this is just on for everyone? Are you concerned that your Cloudflare account will be hammered with this?
- starfallg 3mo agoYou can play around in the guestbook. I'm in it right now and you can see me editing things. Cloudflare Durable Objects are pretty cheap and I'm using it like a very basic pub/sub with each deck having it's own DO. I did some calculations and it should be well within my spend limits.
- francozanardi 3mo agoSomething super small that I've noticed in the guestbook: since there're a lot of people connected, I noticed that every time I received an update, I lost the focus of my text element, so it was a little bit difficult to write something. It may be annoying if two users are working at the same time in the same project. Again, very cool project! :)
- starfallg 3mo agoYup, I've made a note of this and will fix it once the Show HN traffic eases off a bit. Thanks for the feedback and the kind words!
- rpdillon 3mo agoMy project for the past few years is called AppDeck, collection of self-contained HTML files that know how to save themselves back to the AppDeck server, which is just WebDAV. AI has been enormously helpful in building out a suite of apps that can do this. So far I have a diagram editor that can produce SVGs, a multi-document editor that backs everything with markdown, but supports Kandan boards, documents, logs, and calendars. I also have a work flowy clone that I've really been enjoying organizing ideas with at work. There's a gallery app that inlines all of the images and can display them full screen in a light box and with a timed slideshow that also supports captions and encryption. All of it just runs out of a folder on disk and can either be deployed locally or on a server behind a login. I intend to open source it, but I'm not quite proud enough yet of some of the implementation aspects to do so. Hope to do it this summer though!
- latexr 3mo agoWhy does the homepage mention AI over 20 times? Why does it mention AI at all? Why is most of it absurdly long and obfuscated base 64, which looks be binary data?
- starfallg 3mo agoIt's really to solve a use case where there are a lot of these cool web-based presentations being created by AI, but they are all disposable things that non-technies can't work with easily. Base64 is paired with compression to keep the size small so you can share it easily. The original version was around 1.3MB and maybe we can have a switch to output without compression. The source that generates it is all in Github.
- luanmuniz 3mo agoBecause whatever you like or not, AI support these days is a must. Nobody who makes PPT does everything by hand nowadays. And the project is on GitHub, you can get the full code there if you must...
- luanmuniz 3mo agoThis is awesome! I do love this software is one file thing. A breath of fresh air on these you-rent-everything-owns-nothing days
- starfallg 3mo agoThanks! I guess there are some drawback to this approach, large companies especially would be completely adverse to it. But it's cool and I'm hoping people would find it useful!
- meetingthrower 3mo agoOMG coming from bigtime consulting this is...AMAZING. Thank you!
- starfallg 3mo agoYeah, if you do a lot of slides, this is for you! The whole point of this is to make doing slides bearable!
- calebm 3mo agoAwesome. 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 https://en.wikipedia.org/wiki/Draft:Single_File_Web_Apps
- starfallg 3mo agoThanks for sharing this! Let me take a look. I was only aware of TiddlyWiki when I first started on Bento.
- Jonovono 3mo agohttps://hyperclay.com/ https://hyperclay.com/ could be on there I think
- calebm 3mo agoI looked at adding hyperclay, but I think it requires server-side code.
- littlecranky67 3mo agomdwiki [0] would probably qualify. Disclaimer, I created+released it in 2013. I always jokingly called it the first true single-page application - as it was a single, offline-capable .html file with all images, icons, styles etc. inlined in the same .html file. [0]: https://mdwiki.info https://mdwiki.info
- habibicode 3mo agoWould you care listing it on iamsingle.app, a sfwa directory I run?
- littlecranky67 2mo agofeel free to add it
- RodgerTheGreat 3mo ago
- bflesch 3mo agoLooks nice, but I'd love to have a setting where all animations can be switched off.
- starfallg 3mo agoGood idea! Let me roll that out. I guess you can also print to PDF.
- truetraveller 3mo agoGreat job! How long did this project take total? How much percent is AI generated?
- starfallg 3mo agoThanks! I started on this last week in my spare time and I used Claude, all my commit history is on Github. I did most of the coding via Claude Code, no fancy system or exotic harness. I would love to do more by hand, but I look after a tech team inside a renewables firm, so I don't have much time between job and my preschooler.
- truetraveller 3mo agoAre you kidding me? I gave it a spin, and it's solid. That's crazy, I'm impressed!
- GrinningFool 3mo agoAlso, bento: https://github.com/chef/bento https://github.com/chef/bento. No relation.
- fragmede 3mo agoUm, that's amazing... and it's free?
- starfallg 3mo agoThanks! It's a project I did in my spare time and it's made with a lot of MIT licensed JS libraries, so it's natural to make this MIT licensed as well. I don't know even know how anybody would start to monetise something local-first like this in this day and age.
- momojo 3mo agoDid you chew on monetization at all? I'm building something similar but for bio-imaging scientists, where I've packed everything I can into a single HTML (and even some modern segmentation models like Cellpose3 and StarDist that fit under Cloudflare's 25MB free tier limit haha. Maybe I'm thinking too far ahead but I'm hoping maybe I can cover the (future?) compute costs by charging for the heavy duty ML that would have to be run non-locally but IDK. This isn't critical yet but would love to hear your musings.
- starfallg 3mo agoIf you have a backend that does processing, I'm sure you can monetise it. But for Bento, the whole idea is to forgo the backend, so I didn't really think about it that much. If an enterprise version comes, I'm sure there is a way to integrate stuff like SSO that you can charge for.
- hokage-at-leaf 3mo agoYeah, i think that is the right direction. I have built free local pdf/image tools but had to cover the compute cost (which is too much these days to afford as a solo dev) so I HAD to build paid workflows as well. https://pixlpdf.com/tools https://pixlpdf.com/tools
- 3mo ago
- stackghost 3mo ago>There's no install or cloud login, everything works offline. The default deck is around 560 KB and it doesn't need to fetch anything once you got it. This is the best feature.
- BIGFOOT_EXISTS 3mo agoAbsolutely love seeing products like this. Starred, saved link, will definitely use soon.
- starfallg 3mo agoThanks, people asked about monetization but seriously Github stars is really all it's about.
- deleted 3mo ago[deleted]
- schainks 3mo agoThis is awesome!
- momojo 3mo agoThis blew my socks off. Theres something so satisfying about knowing everything I need is in a single file. I know the caveat is *1. Have a modern browser*, but this is my go to format when trying out random ideas. I even have a macro called `try` that sends me directly to a new folder called `scratch/YYYYMMDD_<try_bento>`. Great work! I hope to see more and more apps like this in the spirit of "Toss it all into context"
- starfallg 3mo agoThanks, you're right, that is the achilles heel. Most of the functionality actually is in the browser. We're just running fancy scripting on it.
- nicc047 3mo ago[dead]
- trentor 3mo agoI like it. I used Claude and Qwen to build single file HTML decks in the last few months. The nicest thing with HTML decks is that you can not only ship the decks but integrate your prototype/demos in the same file integrated into the flow of your deck. Would love to see a feature like that.
- starfallg 3mo agoThanks. That would be a cool feature, and definitely possible. Currently it's already got a feature where you can export and import it's data JSON. We just need to find a way to squeeze a whole frontend in.
- skybrian 3mo agoThis is very neat! For people clicking on a link to some slides that someone shared, it seems like starting out in viewing mode with a prominent edit button might be better than starting out in edit mode?
- starfallg 3mo agoThanks for the feedback, that's a really good idea! I'll try to roll it out shortly!
- skybrian 3mo agoAlso, viewing slides on a tablet, I don’t see a way to open speaker notes since I can’t “press the S key.” These instructions should probably be different if you’re not on desktop. Maybe display speaker notes by default if the screen is in portrait mode?
- starfallg 3mo agoThe slideshow button is a split pill, you can open it there where there is this tiny up arrow that opens up a drop down menu. But on tablet it probably doesn't do what you want it to as it was built for multi-screen use on the desktop. I'll have a think on this tonight and I'm sure we can do a tablet speaker notes mode.
- skybrian 3mo agoI tried out the speaker view now that I'm on my laptop, and that would be great for someone actually giving a presentation, but since I'm just viewing it, it's not quite what I want. (For one thing, the animations don't happen.) I just want to see the speaker notes while looking at the slides.
- skybrian 3mo agoSome unexpected behavior: I reloaded the page, double-tapped on the first slide to go back to it, then hit slideshow. Instead of starting out on the slide like I chose, it went to a slide further in othe presentation. I think it’s a bit too persistent about resuming where you left off? Also, swiping left to get back to the first slide puts me back in the editor (I went too far), and then hitting slideshow puts me back where I started so I have to swipe left again.
- syhol 3mo agoLooks very good and I'm excited to try it out properly. It's a shame about the name considering a lot of self-hosters will be using BentoPDF. But thats one of two hard things in Computer Science.
- starfallg 3mo agoAw man! Well it is very different to what BentoPDF is doing. I'm sure nobody would get confused!
- ethin 3mo agoThis is so cool! When I initially saw the title I was wondering how this is different from SlideJS or similar, but this is really cool and now I'm wondering if this could (at least in theory) be integrated into something like Pandoc as an output option?
- starfallg 3mo agoThanks! I'm not familiar with pandoc but I think you can get some data out of the Bento JSON but is not going to be very rich. May be easier to render it to PDF (which works well in Chrome) first.
- ethin 3mo agoMaybe? I'm not too familiar with Pandoc's internals so I couldn't say. (I do know it supports templates so maybe you could pull it off like that?) Although I'm wondering if you could just have the JSON as input and then you use pandoc as the transformer and it generates the full HTML file? An interesting idea for sure.
- luckydata 3mo agothis project is a monument to the HUGE failure of the Workspace team at Google to enable agent editing in a way that makes sense. Google is really shitting the bed in all the way that matters on GenAI and being an ex employee of Cloud I am not in the least surprised about it, just really sad.
- ninjahawk1 3mo agoI’ve honestly been kind of surprised that large companies software hasn’t been recreated for free en masse from the use of AI in a weekend. I’ve definitely seen some cases but it’s not as common as I had personally expected.
- starfallg 3mo agoIn my day job, we have several teams doing this replacing mainly SaaS vendors. It's a easy sell and very low risk replacing basically CRUD web interfaces over databases.
- cseleborg 3mo agoA bit off-topic, but it is interesting that you say this. Just earlier today I listened to Startups for the Rest of Us podcast episode 842 [1] titled "The future of SaaS in an AI World", where host Rob Walling addresses the "SaaS is dead" question. One of his arguments is that it's rarely worth spending time on rebuilding your SaaS vendors' solutions, taking time away from your core mission. But I guess that: 1. the projects you hinted at are low-value services (e.g. CRUD web apps over DBs), and not SaaS services which have real moats, like CRM (connectors ecosystem) or email service providers (IP reputation, IT security). 2. His argument applies to startups, where you're trying to grow your valuation by growing revenue (valuation = 5-10x yearly revenue) as opposed to established corporations which usually have a higher incentive to limit costs. You seem like a very smart person, so I'd be curious to hear your thoughts here. Were these low-value SaaS services, and is this in the context of an established business? Bento is awesome, well done! [1] https://www.startupsfortherestofus.com/episodes/episode-842-what-is-the-future-of-saas-in-an-ai-world-rob-solo https://www.startupsfortherestofus.com/episodes/episode-842-...
- francozanardi 3mo agoLove that it's just one HTML file, really easy way to share software. Great work!
- starfallg 3mo agoThanks, I hope this approach catches on!
- shaism 3mo agoAwesome. Perfect for editing with agents and sharing with coworkers. - Even works well on mobile. - Embedding images and videos also works flawlessly.
- starfallg 3mo agoI'm a bit worried on the UX on mobile, so I did some testing to get at least the basic working! Video also worked better than expected, I love how the video background in the Orbital deck turned out! Thanks for the feedback!
- aag 3mo agoWhat 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.
- starfallg 3mo agoThanks for raising that. It might be in the standard cloudflare/actors SDK I used for Cloudflare Durable Objects. I'll try to disable this behavour and if we couldn't, we'll rip out DO and replace it with something that doesn't phone home. Apologies I wasn't thorough enough here.
- pembrook 3mo agoBy ambitious and impressive do you mean for Claude? Because while cool this is clearly heavily vibe coded.
- dptrsa 3mo agoI've been reading HN much longer than I've had an account, and I have never once left a comment or interacted with any post. Had to break the seal to say great job with this. Really fantastic out of the box, and timely thinking. I'll be using this for sure.
- starfallg 3mo agoThanks! It's also my first submission to HN after reading and commenting on here for the last 7 years!
- praveer13 3mo agoThis 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.
- starfallg 3mo agoThanks! If you need anybody to test and feedback, I'll give it a go.
- praveer13 3mo agohttps://vecto.play.naigap.com/ https://vecto.play.naigap.com/ https://phaseworld.play.naigap.com/ https://phaseworld.play.naigap.com/ https://slope-rider.play.naigap.com https://slope-rider.play.naigap.com Three so far Repos - https://github.com/praveer13/vecto https://github.com/praveer13/vecto https://github.com/praveer13/slope-rider https://github.com/praveer13/slope-rider https://github.com/praveer13/phase-world https://github.com/praveer13/phase-world
- starfallg 3mo agoI really like the first 2, but not sure about the game mechanics of the last one. However, the graphics were nice and fluid throughout, looks great!
- praveer13 3mo agoYeah I am not liking third one either. Mechanics aren’t working well for me either. I might get it redesigned - maybe by gpt this time lol
- thecombjelly 3mo agoVery cool project! It looks nice and the technical aspect of how sharing/CRDT is implemented is a really great idea! I would definitely be interested in the ability to change the relay; ideally to something self-hosted.
- starfallg 3mo agoThanks! That's a really good point. I used Cloudflare DO as it was elegant and convenient, but no reason why we can't run a small daemon to handle the same. I'll work on this later in the week.
- notpushkin 3mo ago> Go to https://bento.page/guestbook/ 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!
- starfallg 3mo agoThanks! I had to reset the guestbook because it's being spammed. It's on epoch 4 now, hopefully people will be better behaved moving forward! 1. Yes, that's a good point that somebody else raised also. It went pass testing as I was only testing with 1 or 2 other people at once. Will fix this tonight. 2. Yeah, agreed and fair point. But I don't write well and I don't have time between day job and being a dad. Will try to fix this gradually.
- notpushkin 3mo ago1. I’ve added the ⌘V remark on the first slide (it was the only way I could add anything in the previous epoch at all!). Hope it helps others have fun in the meanwhile. 2. Absolutely fair point, and it’s okay – the demo speaks for itself :-) Although if you wrote that submission text yourself, you do write pretty well! But obviously no pressure here.
- vonnieda 3mo agoThis is really clever and is taking a direction I hope to see more software taking! Totally self contained is awesome. Well done!
- starfallg 3mo agoThanks! I hope it's good and practical enough to be actual useful (and used regularly by pepole).
- hilti 3mo agoGreat project. But please check the name: https://en.wikipedia.org/wiki/Bento_(database) https://en.wikipedia.org/wiki/Bento_(database)
- ajam1507 3mo ago> Bento is a discontinued database application for Mac OS X made by the former FileMaker Inc., since renamed to Claris.
- dabbz 3mo agoSo OP needs to rename their slideshow tool to Claris?
- rob 3mo agoIt's also the name of a CMS from PBS that's been used for years: https://docs.pbs.org/space/B3/4751362/Bento+3.0 https://docs.pbs.org/space/B3/4751362/Bento+3.0
- miduil 3mo agoBento is perfect reasonable name for an all in one solution - no? https://en.wikipedia.org/wiki/Bento https://en.wikipedia.org/wiki/Bento
- hilti 3mo agoThat's a reason for downvoting me?! I made a nice and respectful comment.
- mklarmann 3mo agoI recently did something similar with just asking claude to create me a presentation with GSAP animations. With a some nice features to embed apps, switch the language while presenting, etc. - it works like a charm: https://eos-lci.gitlab.io/eos-lci-presentations/klimabuendnis/#en https://eos-lci.gitlab.io/eos-lci-presentations/klimabuendni... (all open source)
- starfallg 3mo agoI really like your system. It is very similar to Bento in some respects, but I haven't seen any editing capability though. Thanks!
- hathym 3mo agoimpressive, bravo!
- TeeWEE 3mo agoWas using Reveal.js which worked well because it can use any HTML or any plugin. Bento works with a predefined schema, so you cant use any HTML library (Such as Mermaid.js) if you need it in your presentation. But then again, often you dont need it. Just created a presentation with Bento... I do think Reveal.js gives you more raw power. But I like bentos single html page design, and you can easily edit it manually. You cant do that with Reveal.js
- starfallg 3mo agoYup, I'm trying to see if we can add arbitrary JS. I think it may be possible, but would take a bit longer to test out different approaches. However I guess the main target audience for this is coders that interact with non-coders when doing presentations, and I think currently this approach is sufficient.
- ABO_Studios 3mo ago[flagged]
- sciencesama 3mo agoif you extract ppt it is a xml file !! fyi !
- starfallg 3mo agoThat's how Claude works with pptx files, but the format is terrible to work with harnesses. Maybe that's going to improve but the it's currently the user experince is not good.
- jmuguy 3mo agoThis might just be a Firefox thing but the animations are really struggling on my system here - very slow and choppy.
- starfallg 3mo agoYeah, unless you were using the guestbook which was being hammered, I'm afraid you are right. I use Firefox, but it's not my main browser and I must confess I didn't do much testing on it. I'll have to look to see how we can improve performance on FF.
- runxel 3mo agoWas about to say the same. It's really a slideshow – and that being on an M1! Can't imagine how much worse it probably is on Windows.
- ozhero 3mo agoThis is excellent work! Thanks for sharing and deserves a lot of Github stars!
- starfallg 3mo agoThanks! I'm about 1/3 towards my goal of 1k GH stars as of right now!
- fh67 3mo agoI'm thinking of installing a blank bento for users as a pwa (using browser install site as app), script the author name etc and then make the file read only so they are forced to save as, for users to use as a standalone powerpoint tool. Maybe you can implement this into the project, a blank default read only (except author details) that installs as a pwa.
- starfallg 3mo agoI thought about make it a PWA, but I'm still on the fence about hosting in general. Will probably have to host in order to deal with enterprise use-cases, but I just want to make something simple and cool for now. Thanks for the feedback, will explore a bit about what people will want in a hosted solution and how it can keep these principles I think makes it special.
- d4rkp4ttern 3mo agoLove 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 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.
- starfallg 3mo agoOh! I didn't know about slidev before. I like how it can embed Vue.js components. Typst kinda looks like LaTeX. Thanks for sharing. I thought about whether to use Slidedeck Tool in the title, but powerpoint won out mainly because how often people talk about presentations as powerpoints.
- dushan01 3mo agoI really like it, you are a genius
- starfallg 3mo agoI wouldn't say I'm a genius. I do think it's cool though and slightly impressed by all the positive feedback. Really glad you like it though!
- mguerville 3mo agoAs someone who makes a living in PowerPoint but loves tech and FOSS, congrats. I'm not sure I fully follow how collaborating works, you may want to write an explainer that assumes nearly zero engineering knowledge. Looking forward to the docx and xlsx version, I'll follow on gh to stay up to date
- starfallg 3mo agoThanks for the kind words. To collab, it's simple, go into share and click on invite, then it will save a HTML file with an invite key. Just send this to the person you want to share the session with, and they will automatically connect and join the session when they first open it in their browser.
- seu 3mo agoThis looks like a great idea, thanks for sharing it!
- georgeburdell 3mo agoHey 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
- starfallg 3mo agoExactly what we've seen in our company. A lot of techies create these awesome web-app presentations which look awesome and wows everybody, but then some poor person that has Claude but not Claude Code (we somehow decided it was only for techies/SWEs) would then be scratching their heads on what to do because some figures are wrong and they need to update it before the very-important-steerco in the afternoon.
- deaux 3mo agoDo they not have cowork? This is so exemplary for why Anthropic has been focusing on Cowork and why OpenAI has now copied them with "Codex in ChatGPT App".
- starfallg 3mo agoYes, but 1. Cowork burns tokens, lots of them, and tokens are rationed on the Enterprise plans, and 2. You need to know how to prompt it to make the changes. It's often a slow and painful process if all you want to change is a number here and there, or the colour of a box.
- Shorel 3mo agoI really loved when this was a feature of the Opera browser, before they went chromium.
- starfallg 3mo agoI used Opera for a while, but I didn't recall it doing this. Do you have a link to show what it was able to do?
- Shorel 3mo agoHere there's a description: https://grokipedia.com/page/opera_show_format https://grokipedia.com/page/opera_show_format I am not sure if Opera 12 is even available for download anymore.
- jbl0ndie 3mo agoI love this. I hope you don't get cease and desisted by MS for mentioning PowerPoint.
- starfallg 3mo agoThanks. I hope so too. It seem to be squarely in fair use and there is no real chance anybody would mix this up with MS Powerpoint (I would think).
- oijkuij 3mo agoI love it! I will absolutely be trying this out and following along. For a long time I've used draw.io for making diagrams, and found it clever that you can effectively save your document as an iframe blob of editor + file (though in their case, the editor is not stored in the file, a web connection is required to load the editor codebase. I've wished that could be the primary use case and this is basically what I'd imagined!
- starfallg 3mo agoThanks! As a avid user of draw.io, I considered this model, but ultimately I thought that it's best to start with a single local file. Maybe later when people ask for enterprise-type features it'd make sense to host it. It's definitely needed to do stuff like SSO.
- dogscatstrees 3mo agoThis is so cool. And it's as simple as telling Claude about the skill: https://bento.page/ https://bento.page/
- starfallg 3mo agoLet me know how you get on with the Claude skill. I haven't done nearly as much testing as I should have with it! Thanks for the feedback!
- Willamin 3mo agoI recently made a very similar tool but focused on making small React apps instead of presentations. A basic starter html file with an example app: https://glider-app.netlify.app/glider.html https://glider-app.netlify.app/glider.html Docs: https://glider-app.netlify.app/docs.html https://glider-app.netlify.app/docs.html The docs aren't very polished yet but it's quite usable! It bundles a JSX transpiler, a code editor, and supports saving to a file or localstorage. It supports "ejecting" to separate the shell (handling saving files, transpiling, editing, etc) from the JSX and the JSON data. I also threw together an iOS app in which you can save these mini apps, allowing for longer term saving of data and code edits without relying on localstorage alone, making the save/refresh loop seamless. It includes a sandbox, preventing any saved mini apps from making network calls, but allows the user to enable network usage on a per-app basis. I'd like to include more QoL features like a native editor, but haven't prioritized that yet. https://apps.apple.com/app/id6790498430 https://apps.apple.com/app/id6790498430
- starfallg 3mo agoI checked it out and it looks cool. It's a much more general platform than Bento. If you can make it do presentations, I'm sure the actual quality of the output would be better than Bento as it's React as compared to reveal.js.
- histiq 3mo ago[flagged]
- dogscatstrees 3mo agoWhen attaching the offline artifact as an email attachment, say in MS Outlook, will Outlook strip or block the attachment because it sees an HTML file with JS? Anyone encounter email attachment issues?
- akserg 3mo ago[flagged]
- greenchair 3mo agoAbsolutely amazing! Thank you for making it free and posting too!
- afro88 3mo ago> Only an encrypted blind relay to allow for shared editing. The relay doesn't see any of the data. Would love to know more about how this works then? Is it more or less encrypted P2P?
- starfallg 3mo agoThis doc goes into more detail - https://github.com/nyblnet/bento/blob/main/docs/security.md https://github.com/nyblnet/bento/blob/main/docs/security.md But basically when your bento HTML first gets saved, it generates a number of keys used for managing the permissions to join the Cloudflare DO. You can then send out an invite deck with a key that allow other people to join (with their own generated keys). With this architecture, you can revoke people's access, as well as giving them only read-access to the sharing session for example.
- ShipVoicedev 3mo agoCan I use claude to generate ppt for me using this bento? if so how?
- starfallg 3mo agoYes you can! Use the agent skill, instructions here - https://bento.page/#get-skill https://bento.page/#get-skill
- purple-leafy 3mo agoClient side only and base64 compression tricks are a clever thread, and shameless self promotion but one I’ve been pulling with my dead but novel browser game [0] snibble.gg (tutorial sucks but once you get past it it’s fun to watch the bots play) Basically everything is client side generated from a seed - entire games and their replays get stored in a tiny url - pretty much every possible game ever fits in a version 40 QR code It’s snake X scrabble X PvP [0] https://snibble.gg https://snibble.gg
- __grob 3mo ago[dead]
- thoopring 3mo agoI thought PowerPoint was open on my PC!
- lastramses 3mo agoIt would be interesting to see one note done same way/source?
- starfallg 3mo agoThat's a really good suggestion, thanks. I've been thinking about what to do next, and notes is probably the natural progression, especially if you want to share between different devices with no cloud.
- crashabr 3mo agoPretty cool. I have my own setup for presentations, and I also use revealjs, but I made the choice to have the content be sourced from a markdown to be able make presentation contents as indexable and reusable as any other content produced by my team.
- anoop_kumar 3mo agoFantastic! I have been using HTML for all my slides but this is next level. Is there a way to export this into PPTX format?
- ukz 3mo ago[dead]
- syngrog66 3mo agovi slides.md screenshare to taste
- convertyard 3mo ago[dead]
- aravind328 3mo agogreat project
- jimmar 3mo agoNice work! But...I added an image to see what options it gave me. There was no way to add alt text, which leads me to believe that accessibility was not a priority. Unless passing accessibility checks is a feature, this isn't something I could use.
- starfallg 3mo agoThanks for bringing this up, it's a valid point and also something I haven't really focused on specifically. I'll add at least the beginnings of these accessibility features to the next release.
- kaide666666 3mo ago[dead]
- gatuamgb 3mo agoIt would be a fun exercise to test it with small language models- seeing how this works. If the results are good, there could be a good path to drive mass adoption of the concept!
- llagerlof 3mo agoThis remember me tiddlywiki, a single html wiki. https://tiddlywiki.com https://tiddlywiki.com
- luzgool 3mo agoThis is so cool, did you use any AI tools to build this?
- luzgool 3mo agoI wonder how you manage the RAM and CPU consumption if all just in one html file?
- razster 3mo agoWould it be possible to use your mouse to slide, pan left and right instead of using the direction keys? Assuming it is touch enabled? Just wondering.
- hdrz 3mo agoThere is also impress.js[1], a 3d infinite canvas for slides which I used in the past. You write your content as plain html in a single file, very easy. [1]: https://impress.js.org https://impress.js.org
- maxloh 3mo agoHTML and CSS feel fundamentally better suited for slide decks than JSON. At their core, most slides just boil down to simple flexbox structures: ┌─────────────────────────────────────────┐ │ ┌─ Row 1 Container ───────────────────┐ │ │ │ ┌─ 4-way padding ─────────────────┐ │ │ │ │ │ [ Text Content ] (child node) │ │ │ │ │ └─────────────────────────────────┘ │ │ │ └─────────────────────────────────────┘ │ │ ↕ gap │ │ ┌─ Row 2 Container ───────────────────┐ │ │ │ ┌─ 4-way padding ─────────────────┐ │ │ │ │ │ [ Text Content ] (child node) │ │ │ │ │ └─────────────────────────────────┘ │ │ │ └─────────────────────────────────────┘ │ │ ↕ gap │ │ ┌─ Row 3 Container ───────────────────┐ │ │ │ ┌─ 4-way padding ─────────────────┐ │ │ │ │ │ [ Text Content ] (child node) │ │ │ │ │ └─────────────────────────────────┘ │ │ │ └─────────────────────────────────────┘ │ └─────────────────────────────────────────┘ Layouts like this are naturally expressed using CSS and a layout tree, rather than forced into hardcoded coordinates.
- starfallg 3mo agoFor layouts that need to be static with a fixed page size like PowerPoint slides it's better to have specific placement, otherwise you will be constantly fighting with the layout engine. It's just a tradeoff I guess.
- unixhero 3mo agoMind blowing... I can't believe all of this is in one file.
- pipipi01 3mo agoamazing!
- pipipi01 3mo agoMay be you can add AI to your page, nobody make slides by hand now.
- bryanhogan 3mo agoCool project, I had been using markdown based slide tools for similar use-cases: - Marp: https://marp.app/ https://marp.app/ - Slidev: https://sli.dev/ https://sli.dev/ - Revealjs: https://revealjs.com/ https://revealjs.com/ Something more similar, based on HTML and CSS but instead based on the Svelte framework, was Animation: https://animotion.pages.dev/ https://animotion.pages.dev/ It focuses on presentations that include animations, but of course it's flexible.
- dannyobrien 3mo agoHey, I just wanted to say thank you for writing this -- I couldn't find a way of contacting you directly in the repo, so I'll just have to bury this here! I really appreciate the work that went into this, and the design.
- starfallg 3mo agoThanks for the kind words. I'll put some contact details in my Github profile.
- el_peaton 3mo agoThat is quite useful and simple indeed. thanks :-)
- danvesma 3mo agothis is so sick
- tro09182 3mo agogreat project
- sdoering 3mo agoCool. I really like it. One thing that I stumbled upon was that, when I was playing with negative numbers on slide 6 I would have expected the x-axis to stay at zero and the line to dip below it. But I am not really sure how to achive this for the secondary y-axix (I was playing with the percentages and simulating negative growth).
- starfallg 3mo agoGood spot, it does look like a bug when you are using 1 axis. I'll roll a fix in the next release today. Thanks for the feedback.
- venzaspa 3mo agoIncredible stuff, absolutely love it. The only thing I don't like is that I've got absolutely no reason to use it.
- starfallg 3mo agoThanks. Kinda jealous that you don't have to do slides to be honest.
- koziserek 3mo agoomg I need to try same approach for sqlite MS Access killer
- emifo3 3mo agoBravo
- Andrey1121 3mo agoInsite full content
- gcanyon 3mo agoVery nice! I spent something like 30 seconds scanning the top row of controls for the "Present" option -- is there logic to special-casing it by putting it (and zoom controls) at the bottom, away from everything else?
- tdu01 3mo agoThat's pretty cool. I envisage HTML will replace ppt, word, project management decks etc. HTML is interactive, holds and organises content well, and multiple groups can be self guided in exploring the data and contents. The engineer can explore the how, the customer can explore the what, the marketer can explore the why.
- virajk_31 3mo agoGreat, I hv been working on similar application for internal use, my approach includes upload pptx - web - download pptx. (Though getting fidelity to upto the mark is really challenging)
- hikariming 3mo agocool idea!
- stelardigital 3mo ago[flagged]
- thrownaway561 3mo agothis is too impressive. honestly, excellent work.
- gcanyon 3mo agoThis feels like it's a hair's breadth from being a Notion competitor with a very different set of page-design skills
- starfallg 3mo agoNotes was suggested in another comment as the next app in the series, so yeah I think it's a very good idea to do something like a workspace.
- hokage-at-leaf 3mo agoLoved it. Local-first is the way to go. By the way, how many tokens did you have to burn? :D
- starfallg 3mo agoThanks. To be honest, I don't know because I have a personal Max plan I use for this stuff and never set any telemetry up on it to get accurate metrics.
- drabbiticus 3mo agoCan you clarify the collab architecture and what gets shared vs. not shared with Bento servers to enable this collaboration?
- prokopton 3mo agoAnother pretender. https://en.wikipedia.org/wiki/Bento_(database) https://en.wikipedia.org/wiki/Bento_(database)
- aashir-saas 3mo agoThis is amazing! finally something useful
- okzgn 3mo agoIts use could go beyond PowerPoint-type slides and be applied to various kinds of editors. It would be even better if the File System Access API were available and supported across all browsers.
- okzgn 3mo agoMaybe it could be an extension or plugin that works with an agnostic backend?
- yako21000 3mo agoThat's something I will have to try out.
- RS-232 3mo agoEpic, just needs dark mode ;) Also, maybe a way to use sharing via LAN and strip any features that any phone remote services.
- mariozz 3mo agoSuper cool idea, great implementation! How can we get ClaudeCode or Codex to design the slides, I wonder?
- arttaboi 2mo agoAmazing project, I love it! One naive concern, though: this seems to make it very easy to spread malware. Someone could add malicious code to a compressed app, share the slide with others, and have it propagate. What are your thoughts on this?
- larsien 2mo agoI guess we’ll soon see games built entirely in a single HTML file.
- desktopentree 2mo ago[flagged]
- ListeningPie 2mo agoCan I export and open in Powerpoint?
- viccater 2mo ago[dead]
- markwill6 2mo ago[dead]
- emettwiliam 2mo ago[dead]
- emettwiliam 2mo ago[dead]
- emettwiliam 2mo ago[dead]
- markwill6 2mo ago[dead]