Sjors van Holst

  • Development

About Presently

My mother, who runs an international primary school, wanted to install a TV in the hallway to keep parents and students informed about school-related information. She had approached a few services, but they all turned out to be too expensive. So, she asked me if I could develop software to run on the screen that would allow her to upload PowerPoints. I teamed up with Wouter de Bruijn, and he developed a Nuxt frontend for the software while I focused on creating a Node application that ran on Windows to control PowerPoint.

We set up the software for my mother, and everything seemed great for the first day. However, it turned out that running PowerPoint on Windows was quite unstable, with frequent pop ups and update requests. To address this, I rewrote the application in .NET with C#, which allowed me to tap into the PowerPoint API and stabilise the software somewhat. However, I wasn't satisfied with the solution yet.

After some brainstorming, I came up with a system where PowerPoints get uploaded to DigitalOcean Spaces and CloudConvert, which then turns the PowerPoint into a bunch of pictures. The displays in the school all run a stripped-down version of Raspbian, with a Deno application that downloads and displays the slides. This solution made the displays very stable. I should once again thank Wouter de Bruijn for setting up the stripped-down Raspbian, configuring the Raspberry Pi’s and managing the VPN’s.

Presently allows you to upload, delete, and replay PowerPoints on all or specific displays with a customised interval, pause/play functionality, and live preview. While I am still working on the frontend (see RMDD), I am very proud of what I have accomplished so far.

This project has taught me a lot about managing expenses, thinking through a project, and time management. Once I complete the frontend, I hope to start selling Presently as a service to small businesses. It is currently being used for it's intended purposes at Optimist International School.