Autoservice Totem Manager
Self-service kiosk management running on 150+ terminals in well-known Uruguayan food chains.
Overview
A desktop app built with Electron and Node.js to manage products, groups and images on self-service kiosks. It runs on more than 150 active terminals in well-known restaurant chains across Uruguay.
The problem
Changing what a kiosk showed was a manual job. Updating a product, a price or an image meant going through support, and every new client had to be set up by hand before their kiosks were ready. That slowed down onboarding and kept the team busy with small menu changes.
What I built
I built an Electron desktop app with a Node.js and Express backend on top of the existing MS SQL database, using Sequelize for the data layer. From one place the team can manage products and groups, update prices and customize what the kiosk shows. Images are processed with Sharp and served by a separate image server that I compiled into a standalone binary with pkg.
Highlights
- Product, group and image management for self-service kiosks
- Price updates and kiosk interface customization from the app
- Image processing with Sharp
- Image server compiled with pkg so it runs on its own, independent of Electron
- Data layer designed around a production schema that couldn't be changed
Challenges
An image server that outlives the app
The kiosks need their images even when the desktop app is closed. I pulled the image server out of Electron and compiled it as a standalone pkg binary, so it keeps serving no matter what happens with the app.
A frozen production database
The production schema was fixed and I had no rights to run migrations. The whole data layer had to be designed around a structure I couldn't touch, mapping what the app needed onto what already existed.
Gallery


Results
- Deployed on 150+ active terminals in well-known restaurant chains across Uruguay
- Around 5 hours a week saved by removing manual updates
- Menu changes no longer require a call to support
- Faster onboarding for new clients
Have a project or a role in mind?
Let's talkNext project
Full stack web app
ZipLink
Full stack URL shortener with Next.js and Node.js, with per-click analytics by device, country and referrer.