PourSelf

- Product
- Connected drink machine
- Role
- Sole software developer
- Year
- 2022 - 2025
- Scope
- Mobile, tablet, admin, backend + IoT
Sole software developerMobile app, tablet, admin + IoT2022 - 2025
Official Torio app screenshots
The result
A connected drink machine used by real customers.
Sole software developer for PourSelf at Torio: customer mobile app, machine tablet app, operator admin, Node.js backend, payments, and IoT integration.
01
The problem
Venues needed a self-service dispenser with software for customers, staff, and the machine itself.
02
What I did
I built the customer mobile app, machine tablet app, operator admin, and Node.js backend, including payments and machine communication. My dad built the physical machine. I owned the software, deployment, monitoring, and maintenance.

What I was responsible for
Customer mobile app
React Native and Expo: scan a QR code, choose a drink, pay, and access the tap.
Machine tablet app
The interface on the dispenser, showing drinks, QR codes, and the current session.
Operator admin
Web controls for machines, tap status, products, prices, discounts, and users.
Backend and IoT
Node.js services, payments, and communication with the embedded machine computer.
How it got built
From a garage prototype to a machine in a bar.
Built at Torio, PourSelf brought the machine and its software together. Follow the build through the admin, tablet, customer app, and physical testing.
From the garage to a steel prototype
My dad built the physical machine. I owned the software that connected it to the customer app, backend, and operator tools. The enclosure and first steel prototype show where that shared work began.
2 imagesPutting the machine together
The steel prototype became an enclosed dispenser with taps and a screen. I wrote the machine software and connected the embedded computer to the backend.
3 imagesAn admin for running the machine
I built the web admin and its Node.js backend for machine controls, diagnostics, products, prices, discounts, and users. These development screens show tap configuration and the closed and available states.
2 imagesThe app on the machine
I built the tablet application that displayed drinks and QR codes at the dispenser. The separate prototype tablet and later integrated screen show its development, including test content.
2 imagesScan, pay, and access a tap
The React Native and Expo customer app connected QR scanning, drink selection, payment, tap access, and receipts. These Torio-branded development screens belong to the PourSelf product.
5 imagesChecking what actually came out
The software had to work with a physical flow of liquid. Testing brought together the flow meter, control wiring, and measurements of how much the machine poured.
3 imagesOne connected product
The customer app, tablet, admin, and backend now met at the same dispenser. I handled the communication between them, along with deployment, monitoring, debugging, and maintenance.
1 imageInstalled in a real bar
The machine and software shipped as a working product used by real customers. These photographs show the dispenser installed on a bar counter.
2 images
What I used
One machine, four layers of software.
Hardware and IoT
- Raspberry Pi
- Arduino
- Relay boards
- Flow meters
- MQTT
- Python
App
- React Native
- Expo
- QR scanning
- iOS
- Android
Backend
- Node.js
- REST APIs
- MongoDB
- Stripe
- Sentry
Web and admin
- Next.js
- React
- Operator dashboard
- Vercel
Hardware meets software
One connected product, from phone to machine.
PourSelf joined a physical dispenser, an embedded computer, a customer app, payments, backend services, and an operator admin. I owned the software side and the operational paths between every part.
- ISK 20m
- Grant secured
- 1
- Software developer
- Live
- Physical product
- Remote
- Machine operation
01 / Connected machine
Software reached into the physical device
A small computer inside the dispenser connected the machine to the internet and coordinated actions from the customer app and operator system.
Phone, backend, and device
Built the communication path that moved commands and state between the customer phone, backend services, and embedded computer.
Controlled remote routing
Managed DNS and controlled routing for remote operator access to the device.
Coordinated state
Kept drink scanning, machine responses, and payment state aligned across the live system.
02 / Operations
An admin built to run the business
The operator interface covered the machine itself and the commercial settings around each installation.
Machine control and health
Supported remote on and off controls, operating checks, machine status, and diagnosis when something stopped working.
Products, prices, and discounts
Built workflows for operators to manage products, pricing, discounts, users, and the settings needed for daily operation.
Customer and operator surfaces
Delivered the React Native and Expo app, React and Next.js admin, and public website as one product family.
Backend and monitoring
Built Node.js services, database and APIs, payments, scripts, deployment, Sentry monitoring, debugging, and maintenance.