Inspiration
Every year the average person spends more time on their phone daily. In 2015, the average was at 1 hour 20 minutes. Now it's 3 hours 43 minutes. What’s it going to be in 2040? This, coupled with fewer and fewer deep interactions with our fellow human beings, deprives the human race of what makes it so special: our ability to connect with and understand each other.
While technology seems to be the problem here, technology can also be the solution. Introducing Connect Time: an app that gamifies spending time with other people, without the infinite and ever present distractions of the smartphone.
What it does
Connect Time is a mobile web app that encourages people to stop using their phone - together. With your friends, you can start a Connect Time session that ends as soon as someone picks up their phone. This prevents half-hearted socialization by motivating you and your friends to be the last one to end the session, and for you to place full focus on each other, and really enjoy each other’s company.
After a session ends eventually, you can share it with your other friends. Combined with leaderboards and feeds, Connect Time turns living in the present into a fun game that deepens our relationships.
How we built it
We used websockets with Socket.IO, and Google Cloud Engine to host our backend server, and vanilla HTML/JavaScript/CSS for the frontend. We also use the new “Generic Sensor” web API, allowing us to access the gyroscope of the mobile device through the web browser; this is how we detect when a phone is being held.
Challenges we ran into
We first considered using Near-Field Communication (NFC) to determine whether people’s phones were together and as such whether they were being used or not. However, we realized that this may limit the number of people that could participate (as NFC requires close contact). As a result, we decided to use motion sensors instead of NFC to detect “disconnections” where users leave their conversations/activities and go back to using their phones.
We also switched from serverless deployment through Vercel to Google Cloud Engine to facilitate live socket connections.
Accomplishments that we're proud of
We were able to make a relatively stable backend that supports multiple Connect Time sessions simultaneously. In addition, we built a waiting room (think Kahoot), which required lots of back and forth messaging. We used a brand new web API to access phone gyroscope data, and were able to set up a Google Cloud Compute Instance even though none of us have had experience working with GCP before.
What's next for Connect Time
Unfortunately, we were not able to make the gamification (accounts, friends, feeds, and leaderboard systems) elements in time for this hackathon, but this is certainly not a technical challenge, and can easily be done. We should also consider making native apps for Connect Time as it is targeted for mobile devices, and we could optimize (disable notifications, allow the tracking to continue even when the phone goes to sleep, etc.)
Log in or sign up for Devpost to join the conversation.