We are all aware of how disposable dishes are bad for the environment. They have an important CO2 cost at manufacturing and a solid proportion of them are abandoned in nature by the owner, and some are lost during waste transportation. Reusable cups could solve this, but they need a solid infrastructure to be treated. This is why we decided to team up with SBB, a nation-wide company, that can set up such a system.
What it does
We designed and built the entire infrastructure for the cups. From the moment they are bought by a user in any partner coffee shop, to the way they are returned. For people using the system correctly, nothing will change. They get some motivation to return the cup as, otherwise, their deposit is lost.
How We built it
We split the project into three parts:
- The first one is the server that centralizes and stores the data, its skeleton was created using JHipster. It features an intuitive web application so that each user can keep track of the cups they own at the moments, and their deposit account.
- The second is an Android app used in coffee shops, that reads the ID (with a QR code) from a cup and reads the ID (with the Swisspass) of the user.
- Finally, a second Android app (that could be replaced with a more elaborate machine) acts as a collection point for cups. The owner of a cup can quickly dispose of it, and the deposit will be given back to their account; otherwise, if someone brings back a cup they did not buy, they present their Swisspass and they get credited with the lost deposit of the former owner.
Challenges We ran into
Reading a Swisspass with Android is not simple, and obtaining a unique ID from it is even harder. But we managed to read any NFC card and obtain its ID. Also, building an Android app is not a usual task for us, and we learned Kotlin on the fly to do so.
Accomplishments that I'm proud of
We build a physical box from scratch to collect the reusable cups and host the phone (acting as a QR/NFC reader), and considering the material we had, we are proud of it. Also, we understood how NFC works and were able to read it.
What I learned
How to build a webserver, database and interface quickly using Jhipster, how to read NFC cards, how to use Kotlin for Android.
What's next for Re'Cup
Now that the prototype is ready, we would like to have further discussions with SBB to actually implement our system nation-wide, and help our country to towards a greener future.