Inspiration

Do you ever say that you'll grab dinner with friends, but end up never doing so? Do you ever hesitate inviting somebody to kayaking because you think they might be busy? Do you wish to be more connected with your circle? Well that is what inTouch is for!

In today's increasingly busy lifestyle, it's harder than ever to schedule mutual events, and we hope to change that by making it fun and effortless.

Alt text

What it does

What inTouch does is schedule serendipitous events for you and your friends automagically. Say you are free this Wednesday evening for a virtual event such as a movie, free Thursday afternoon for tea, and free on Saturdays for playing basketball.

What you would do is log into inTouch with your google account, which automatically populates your current google calendar through the API. Next, you have the ability to select times during which you would be free. This can be done by simply clicking on available slots in order to populate your inTouch calendar. Alt text Alt text

After adding your friends by their email, the system would automatically try to match your available slots with slots similar to people in your circle. Not only does it organize individual events, it will also organize events for mutual friend. The matching system will learn from matches that were successful and will utilize these matches in order to recommend future events that are similar. We call these matches touchables™ If a proposed touchable™ is successful, inTouch will automatically send a google calendar invite to your contacts.

Alt text

How we built it

inTouch is built with a serverless architecture using React. Our application authentication is handled using Google's Firebase identity and authentication APIs. Our database is hosted on Firebase realtime database, and we have a separate node.js API server for calculating optimal touchables™. When such an event is found, we use Google calendar APIs in order to create a meeting and invite the other participants.

Challenges we ran into

Our team is located in Canada, the UAE, Australia, and the US. While the sun never set on our hacking empire, it did mean that coordinating development was particularly tricky! In fact, this is part of the reason that inspired inTouch. We wanted a way to schedule free time across space and time!

In terms of development, one challenge we faced was interfacing Firebase's authentication tokens with Google Calendar's APIs. We learnt a lot about the way Oauth works, and how timed tokens and refresh tokens operated. It was also challenging creating a visually appealing calendar interface that dealt with time zones, but ultimately we learnt a lot through the process.

Accomplishments that we're proud of

We are proud that the proof of concept project works, that the users are able to import their google calendars, and that we are able to schedule touchables™ together.

What's next for inTouch

What's next is a mobile application that will complement our desktop application. We hope to polish the UI, and create a better interface for selecting and displaying free events. We hope to add notifications for touchables™ and we hope to deploy this online and in the app store for people to connect better with their friends. We certainly will.

With the ability to recommend touchables™, we also hope to integrate third party application, for example, yelp restaurant suggestions, which will help us monetize and scale up inTouch. Let us know if you have any ideas!

Built With

Share this project:

Updates