Two of my friends, Tine and Žiga, and me started to work on a project for self-service drinks. We came up with the idea of DrinKing — a self-service beer machine that lets you pour beer and pay instantly. The project is mostly in Slovenian language, since it was meant for the domestic marketplace.

Although the project didn’t come to a finish, I’m pretty proud from my side as I did my part.

DrinKing Demo
DrinKing Demo


The initial draft of the flow was designed in a pub where brainstormed the ideas.

This was one of the initial mock flows and we altered it a bit during the whole implementation process:

DrinKing Flow
DrinKing Flow Mock (Slovenian)

The whole flow is designed to make be as simple as possible for the end user.

The main idea is that the user would pour his own drink and pay with the application (NFC/QR/button) or an RFID/NFC card/key.


The project’s building process consisted of each member doing his own role at home:

  • I was responsible for the Backend, RBPi logic and Frontend
  • Tine was responsible for providing the beer machine, sensors and valves
  • Žiga was responsible for electronics; Arduino connection with sensors and valves

One day we gathered in Tine’s garage to test the initial flow. The building of the demo prototype looked liked we’d be one of those garage companies that went viral such as Amazon, Apple, …

The prototype consisted of:

  • Beer machine
  • Arduino
  • RaspberryPi
  • Computer for Arduino
  • Computer for server
  • a few cans of beer for motivation
DrinKing Garage 1
DrinKing Testing in a Garage
DrinKing Garage 1
DrinKing Testing in a Garage

So the test went something like this:

  1. Arduino read the RFID key
  2. It sent the test data (millilitres poured) to RaspberryPi (RBPi)
  3. RBPi displayed everything on the monitor via a simple webapp
  4. After the 300 millilitres were “poured” the RBPi would make a payment to the server
  5. The server received the payment and verified it

but to be a tad more visual, here’s a gif of the test:

DrinKing Test Demo
DrinKing Testing Demo


The backend API could:

  • add new users
  • add currency to an existing user
  • add new bartenders/responsible staff
  • get data for existing users
  • get drinking statistics for existing users
    and more

Frontend was quite nicely done, since I’m not such a designery-type of guy:

DrinKing Frontend Sample
DrinKing Frontend Sample

It presents to the user stuff like:

  • quantity of poured beer in litres
  • how much he’ll need to pay for the beer
  • how much currency he still has on his account


Unfortunately the motivation fell, and we didn’t even do a prototype, but the server and frontend were mostly finished, so in that sense I’m not really disappointed. The project was really fun to build, and I poured (pun intended) in around 200 hours.

Even though we didn’t pull it through to an end, I learned quite a lot of stuff.