We loved the idea of using image recognition to improve customers experience, although the technology is not quite there yet so we made a travel-inspired image recognition game.
What it does
You play in small groups of friends either in the same location or in different places. You are given 5 things to take pictures of, within one minute. The first one to get them all wins!
How we built it
The front end is an Android app. It communicates via socket.io to a node.js server that keeps track of the session and sync. The images are recognised using Google Cloud Vision API's.
Challenges we ran into
Integrating the API with the Android was a challenge. We tried multiple APIs, settling with Google's for precision and generous trial plan. Multithreading caused some weird issues. Addressing heavily nested objects took several attempts in node.js.
Accomplishments that we're proud of
Having no experience with node.js and socket.io we were surprised what we managed to achieve. We were surprised to obtain a rather polished app after going through various designs.
What we learned
Node.js and socket.io Image recognition API's behave weirdly quite often. (e.g. sometimes pens are recognised as shotguns)
What's next for SnapIt!
The server now runs locally but we are planning to have it available on the cloud with multi-server support. More game modes e.g. random group creation.