Sprink Ads
A distributed advertising synchronization system designed for water vending machines equipped with Raspberry Pi devices and embedded monitors. The platform enables remote management and automatic synchronization of short video advertisements displayed while customers fill their water bottles, eliminating the need for manual on-site updates.
Project Overview
Understanding the Project
The Goal
Design a remote advertisement management system capable of synchronizing and updating media content across multiple geographically distributed vending machines, enabling scalable monetization through cost-per-click and subscription-based advertising models.
The Challenge
The primary challenge was eliminating the need for manual physical updates on each Raspberry Pi device, which created significant logistical overhead. The system required reliable internet-based synchronization, secure content distribution, and periodic automatic downloads to ensure that all vending machines displayed updated advertisements without on-site intervention.
My Role
Full-Stack & IoT Integration Developer responsible for backend architecture, remote synchronization logic, content distribution workflows, and Raspberry Pi integration for distributed edge devices.
Role
Full-Stack Developer
Timeline
2019
Platform
Web + Physical Devices
Team
Cross-functional (Client + Dev)
Screenshots
Visual Showcase

Login screen for advertisers and publishers

Dashboard to manage videos, machines, and statistics
What I Built
- Developed a web platform to upload and manage video advertisements.
- Implemented a server-side upload workflow that stores videos in the filesystem (server folders).
- Stored only video metadata in MySQL (URL and filename) to reference files efficiently.
- Built management tools for publishers, agencies, clients, and vending machines.
- Designed and implemented a REST API used by devices to sync and retrieve video content.
- Implemented device communication to download videos over WiFi and keep local content updated.
- Built interaction tracking triggered by physical button presses on vending machines.
- Implemented counting per video on each machine to generate statistics per video and publisher.
- Designed the MySQL data model to support machines, videos, publishers, and interaction events.
- Implemented authentication and controlled access for platform users.
Tech Stack
Frontend
Backend
Database
Hardware & IoT
Architecture Design Decisions
These decisions were intentional to ensure the site feels professional, calm, and easy to navigate:
- Filesystem-based video storage for simple and efficient media delivery
- Database design focused on metadata (URL/filename) and event tracking rather than binary storage
- API-driven architecture to decouple the web platform from devices in the field
- Event-based interaction tracking triggered by hardware inputs
- Statistics model based on per-video, per-machine counting to support publisher-level insights
Results & Learnings
The implementation removed the logistical burden of physically updating advertisements on each vending machine. By leveraging internet connectivity on Raspberry Pi devices, the system enabled automated ad synchronization across multiple locations, significantly improving operational scalability and enabling a viable monetization model for distributed advertising.