When I was living in San Francisco, I found maintaining an active real-world social life to be very difficult. Trying to find cool events that were happening nearby was difficult; Googling, checking Eventbrite, Meetup, and sending out mass text messages to friends was time consuming and not effective. Keeping up to date with what different friends had planned as the day went on was difficult and clingy. Technology has recently been making major improvements to our day to day lives- so why doesn't it improve our real-world social life?
What it does
Sail aggregates events from Eventbrite, Meetup, and over a hundred secondary ticket sales websites for users to find things to do with their friends. Alohar is heavily integrated by giving users location-aware contextual notifications if there are events happening around them and if users' friends are there. Additionally, through Alohar, Sail automatically checks people in to events that they had planned on going to through the app so users' friends know that they were physically there. Users can invite anyone in their address book (via Twilio sms) to join them at events or create their own...with a twist. Sail gives users the option to invite friends anonymously to join them at events which drastically decreases the social hurdle to making plans.
How I built it
The entire iOS app is built natively in Swift. There is a Node.JS server running on Heroku that processes the location data streamed to it via Alohar. The Alohar SDK is integrated into the app to allow users location to be processed in the background so they can have awesome real-world social experiences triggered by their location.
Challenges I ran into
I ran into a challenge when I was creating the location-processing engine which sends out contextual notifications and checks people in to events. Because there is a large amount of data being sent to the engine by Alohar, allowing this service to speak to the database of the application (on Parse) in a data-conservative manner took some time. Determining the right gradient of notifications based on the users location data took a while to fine-tune and get beta user feedback.
Accomplishments that I'm proud of
I built the entire stack (iOS app, Node server, Parse backend) individually. The location and contextual-aware notifications feel like magic to the few people that have tested the app thus far, connecting them with events around them that they were completely unaware of. Sail provides people with real-world experiences that they otherwise wouldn't have had.
What I learned
Alohar is an extremely powerful location engine- now that I am comfortable and fully aware of its capabilities I will continue to integrate it in projects moving forward. Using user feedback on notification settings (based on location context) is the best way to create a notification engine that is the right balance of informativeness and not-bothersome or annoying to users.
What's next for Sail- Experience and Explore
We are launching the application this Fall primarily in San Francisco and New York City in addition to college campuses across the Northeast and California. Build --> Assess --> Iterate --> Repeat.