PourSelf

The PourSelf machine with its tablet, customer phone, and operator admin.
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

7 images

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.

Mobile + tablet appsSole software developerAdmin + IoTSproti-backed build

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.

A dog sitting on a sofa in front of the PourSelf dispenser.
A fun photo from the build.

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.

  1. 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 images
  2. Putting 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 images
  3. An 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 images
  4. The 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 images
  5. Scan, 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 images
  6. Checking 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 images
  7. One 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 image
  8. Installed 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.

Work together

Have a project like this?

Tell me what you want to build.

Back to work