We were inspired to pursue this hackathon idea due to many of our members owning wearables of various brands. Our devices couldn't communicate to each other because there was no common endpoint to talk to. Therefore, we wanted to unify the owners of different wearables all around the world by creating a social platform for friendly and competitive walking battles.
What it does
It is a social network that unifies a single backend for wearables of different operating systems and brands to communicate to. The wearable connects to a phone, which displays all the information needed and where most of the interaction is done. Friends can add each other and challenge each other to walking battles. For example, the first one to reach _ n _ steps wins or the person who has the most steps at the deadline wins. Extra authentication options such as OAuth and Facebook are available as well.
How I built it
Our project is split up into various parts:
- Ruby on Rails 5 backend to serve API. Hosted on Google Cloud Platform with nginx + unicorn and Lets Encrypt certificates.
- iOS client for the Fitbit, Pebble, and Apple Watch, each having their individual clients on their respective wearable.
Challenges I ran into
- Time management: We simply decided to do to much in such a little timespan. Therefore, we were not able to complete every task that we had previously planned to. A chunk of the time was also dedicated to attending the events at the Hackathon.
- Since Ruby on Rails is a relatively new language for me, I had to do a ton of Googling.
Accomplishments that I'm proud of
We produced a professional production environment. For example, we had spun up a database server and web server on GCP with an API domain to serve the clients. Everything was protected by Lets Encrypt.
We managed to complete our own parts so that it was almost completely functional
What I learned
- I've become a lot better at Ruby on Rails from what I knew before the start of the Hackathon Found a lot of extra features and useful gems for tasks. Learned of a lot of best practices and techniques such as API design, token authentication, etc.
What's next for Step It App
- We did not have an Android Wear, so we were unable to develop a client for that.
- Extra features that were planned but were not implemented, such as an experience levelling based system, push notifications, Speech to Text commands for wearables, GPS geolocation validation, etc. for the clients.