SmartVend

Our own SaaS product. Telemetry service for vending machines

SmartVend is a telemetry service for vending machines that allows you to get a complete picture of the vending machine network, track statistics, and organize maintenance and service.

About the product

Users receive information about sales, balances, errors and cash collections in real time. In case of emergency, SmartVend will send a notification via email or instant messengers. But the most important thing is the ability to remotely control your machine: make a deposit, restart the machine, and change prices.

Telemetry service for vending, which provides full control over your vending machine network

Full development cycle

We have implemented and maintain the entire technology stack ourselves.
Our engineers developed the circuitry and wrote the code in Assembler and C; back-end developers and DevOps organized smooth operation of servers to support and process data for 100,000 machines; designer and front-end developers created a really comfortable and high-quality interface to work with the system.

Technology

The vending machine is equipped with SmartConnector, which exchanges information with the SmartVend server. And through our service, users can control their vending machines on any device from anywhere in the world.

Product development process

During product development, we made a deal with three companies to pilot the system. Each of these organizations installed a completely different type of vending machine:

  • Coffee vending machines
  • Windshield washer fluid vending machines
  • Children's arcade machines

Accordingly, each company had its own needs and "wants" for the system. At the same time, we had to provide for a huge number of other types of machines.
There are universal parameters which are important for all machines, regardless of what they sell, for example, the amount of money deposited into the machine, information on sales and errors. Aside from that, there are specific parameters depending on the type of the machine: for some machines it is important to monitor the outside temperature, for others the amount of leftovers, and for others the prize issuing sensor, etc.

It was also very important to create a system which would be convenient for companies of different sizes, whether it was an entrepreneur with one machine or an organization with a network of 10,000 machines.

Controller development

At this step we had already identified the needs of our future users and understood exactly what components the controller had to consist of. Then we proceeded to the circuit design, and sent the circuit board for printing.

Along with the development of the printed circuit board we wrote the programming code for the controller. The main requirements for the controller software were:

  • High productivity Due to the limited capacity of the processor it was necessary to apply and develop the most optimal algorithms.
  • Operational stability and accuracy. The code would work with our clients' financials, so we needed to ensure that all data in the system was as accurate as possible.
  • Light weight
Manual soldering of the controller
Manual soldering of the controller

All in all, it took us about a year to achieve maximum performance and data transfer accuracy. During that time, we reprinted the circuit board 12 times and committed the code more than two thousand times.

The final version of the controller
The final version of the controller

Web application

Our first priority was to display the data coming from the controller; we didn't have time to think about interface design. In fact, not thinking about design at the time was very painful, but worth it because everything was changing too fast and we were building the MVP on the fly.

Bootstrapped an MVP real quick
Bootstrapped an MVP real quick

Once we settled on the main functions of the personal account, we very carefully and painstakingly took on prototyping, design, and layout.

As a result, the service has more than 50 reports in graphs and tables with data filters, sorts, and search.

Detailed display of how much money is in the machine and in what denominationUser warning about possible malfunctions on the machineDisplay of sales dynamicsAn accurate report of when the machine was on and when it wasn'tVisual representation of sales
> 50 elaborate reports in charts and tables.

Adaptation

We knew right away that the vast majority of our users would be accessing the personal account from smartphones. The main difficulty in adapting the project was the large number of charts and tables. In the process of solving the problem we developed our own interface adaptation system.

Can I control the machine from my phone or tablet?

Sure. All charts and tables are easy to view on any screen size

Загрузка интерфейса smartvend

Special pages

A personal account with large tables and lots of data is interspersed with stunning illustrations on the error pages.

Server

Titanic work, many times greater than everything described above, is put into the development of the server and data transfer protocol with the controller, but we cannot talk about it publicly and most of it is a commercial secret 🤫.

Алексей работает над сервером
Alexey working on the server

account.smartvend.io