After meeting someone who went to the same hackathon a few years ago, we were inspired to inspire this feeling among others. Designed to connect people together on a fundamental level, Serendipity achieves that by using a physical level. Everyday, we walk by people we may have met, or wish to do something, but have not met the right person. Serendipity removes that qualm by utilizing existing connections and interests to connect people together.
What it does
In short, Serendipity connects you with people you already know. Featuring four modes:
- Event: Mark yourself as down to ____ (get lunch, play video games, etc.), and you'll see a list of people in a five (user-configurable) radius that also want to do the same thing as you. By seeing other peoples' interests, choose somebody (or even multiple people), and start a conversation!
- PassBy: If you pass by somebody in Philadelphia, and then pass by them again in a different city, you'll both be notified. Using a combination of Wifi, Bluetooth, Bluetooth LE, and ultrasonic sound frequencies, we're able to determine whether or not somebody else is near you; with little to no impact on battery life. After being notified, both parties are invited to chat if they so choose.
- Music: After making a little bit of music, be able to share music with those you pass by. By using the same technologies as PassBy, we are able to exchange little snippets of user created music when people pass by each other. From this music, users are able to literally listen to their day, either in chronological order, or using an AI based on the fundamentals of music theory.
- Interests: When two people with similar interests pass by each other, both users are notified.
How I built it
Primarily using Android Studio, we also integrated elements of Illustrator/Photoshop, as well as back-end services like DynamoDB, S3, and Cognito. Also, we used SendBird's chat API, designed a custom UI for that, and used Firebase Butt Messaging as the backend service for our messaging section.
Challenges I ran into
Because Android Nearby is such a new API, there were many hardware limitations and compatibility issues that we ran into. Multiple times, we were experiencing Bluetooth issues, of which should have been rare with this API. Also, due to the insanely high density of devices, scanning networks and analyzing airspace took more time than usual.
Accomplishments that I'm proud of
Working with an extremely new API (the new API from Google has innate hardware limitations that the team is dealing with), dealing with AWS' horrible documentation (the documentation contradicts itself multiple times), and most importantly, working on this project as a team.
What I learned
Some issues that you come across are simply... unsolvable. Those issues need to be solved through unconventional means (circumventing built-in security features, switching entire roadmaps, etc.). Additionally, not all documentation is updated. Sometimes you just have to experiment and dig through source code to find out how code is written.
What's next for Serendipity
Integration with the ople network. As a social tech startup (link), we have existing apps that are also based on social ideals. By integrating Serendipity with our existing network of apps, we are able to instantly launch this app into the hands of willing and eager customers. Since informal market discovery has already been performed, formal market discovery may now proceed, along with multiple advertising campaigns. We are also looking at integrating Facebook into the app, mainly so people can see mutual friends while connecting with others. Also, we are looking at gamification, allowing friends to compete with each other to see who meets the most people every week.