A long time has passed since my previous post 😅 But since I promised I would write about this back then (check it out if you haven’t yet), here’s the fun weekend experiment I ended up self-hosting from my edgebox: what if I could go from a random idea to a fully-generated, web-hosted presentation in seconds? No PowerPoint wrestling, no manual file shuffling—just a quick command and boom, done.
I hooked up a Telegram bot, n8n workflow automation, and some AI magic to make it happen. The result? A system that takes a simple text prompt and spits out a complete impress.js presentation, automatically committed to a Git repo (so I can continue working on it), and ready to share.
Here’s how it works under the hood:
Technical Implementation
The automation process follows a structured workflow:
- User initiates the process by entering a command via Telegram (e.g., /impress the rise of edge computing)
- The n8n workflow processes the topic, invoking OpenAI to generate a complete impress.js slideshow
- The system creates a new directory in the Gitea repository, generates and commits the HTML file, and pushes the changes automatically
- A shareable presentation link is generated and made available for immediate access
This approach eliminates manual file management and enables instantaneous transformation from concept to deliverable presentation.
System Components
- n8n workflow orchestration with a node configuration
- Gitea repository management with organized directory structure for version control
- Live impress.js presentations, hosted and viewable with a single click
Why I Love This Setup
- It’s fast. Ditch the tedious parts. Focus only on what matters.
- It’s reproducible. Everything’s versioned, backed up, and ready to update.
- It’s extensible. Want different styling, a new format, or to automate a totally new flow? Just tweak a node.
This is purely a side project—something I tinker with in my free time, but serves the purpose that using a self-hosting setup like edgebox can help you get your tools going in no time, and even handle complex workflows. Could I make it more interactive? Add feedback loops? Maybe even auto-publish updates? Yeah, probably. But for now, it does exactly what I need it to do, and that’s good enough for a weekend hack. I’ve been also studying about “agentic” software, so I might get back to this to tinker some more!
And if you’re curious, you can see all the silly presentations I created in this repo! 🤓 And if you want to see them in their impress.js versions, just navigate to https://n8n.jpt.land/webhook/impress?target=(presentation-folder-name). Check for example this entirely AI generated presentation on the NixOS topic.
If you’re playing with similar tools or have ideas for what I should automate next, drop a comment. I’d love to hear what you’re building!

Leave a Reply