[Note: this project took place as part of the ICCLab Hackathon – more general information on the ICCLab Hackathon is here].
Shared inventories, such as office fridges that contains items having an expiration date, have always been a problem to manage. Our very own fridge isn’t an exception either. At the moment, about 35 of us (ICCLab & DataLab guys) sharing the same fridge, go through the everyday hassle of remembering what food article do they have in the fridge and which one needs to be consumed or thrown away due their expiration date. After a terrible period of “fridge-chaos” (* – November 2015) Annette came up with a practical solution to the problem which involved manually written labels written on each food article in the fridge. There was a person assigned (thanks Denis) only for maintaining the fridge’s healthy ecosystem and check for any growth of life! Meaning that Denis was responsible to continuously check the expiration of food articles and inform their owners to take immediate action. Since then we thought of ways to automate this 1845 technology and came up with StickTrack – a QR-code based inventory tracking solution notifying our small fridge community what’s going inside of the fridge. Me, Lidia, Martin, Oleksii, Andy, Piyush and Amrita (also known as “Un Palo” team) decided to make the future happen during our internal 3-day hackathon.
[Fig 1 – StickTrack workflow (click for animation)]
The basic StickTrack functionality is to stick one of the pre-printed QR-code labels on the item you want to store and scan the code with the StickTrack mobile application to save the item or scan one of the existing items to see when it was added, who is the owner and when it expires. Moreover the twitter integration module notifies the channel (@un_polos) tweeting out every time when an item is added, removed or about to expire mentioning the owner (because we believe that public shame helps to keep the fridge clean). StickTrack’s twitter channel can be also used for simple application interactions such as querying number of stored items, number of users currently using the fridge, etc.
[Fig 2 – StickTrack Twitter integration (click for animation)]
StickTrack Architecture
After several adjustment of the originally proposed application architecture with regards to the team size and used technologies, the final application is composed of:
- Frontend mobile application implemented in PhoneGap providing user friendly StickTrack interface.
- Core backend application providing RESTful API, persistent storage and QR code recognition module.
- Twitter module publishing changes occurred in the inventory and providing simple querying endpoint using Markov Chains to process human like inputs and outputs.
- Trello middleware providing an interface to Amazon S3 storage (naughty hack!). As found out Trello cards’ attachments are being stored in Amazon S3 storage exploiting the trello API any file (up to 10 MB for non-gold Trello users and up 250 MB for gold Trello users) can be stored in S3 and accessed by a direct link. Therefore after some effort we managed to use Amazon S3 as our Trello funded image storage backend (thanks Trello!).
- (Twilio module adding SMS and phone call notifications. Although the Twilio module has been finished the integration into the StickTrack’s core is still missing.)
[Fig 3 – StickTrack Architecture]
Since the application is highly modular it can easily be orchestrated (Hurtle.it!), scaled and deployed on multiple machines or even multiple clouds at the same time. In our setup we used three cloud providers to make it more interesting – CloudStack-based Exoscale (core API and QR code recognition module) and Safe Swiss Cloud (Twitter module) and our own OpenStack test bed (Trello and Twilio modules). Therefore we would also like to thank Exoscale and Safe Swiss Cloud for providing us some space to experiment.
The hackathon was for us an unique (and also exhausting) experience full of fun resulting in a working StickTrack prototype, which as we hope will make our lifes much easier. And even though there was no hackathon winner, the Un Palo team has no doubts who the real winner is…