Inspiration
As a computer science student, I have played a very large amount of video games. Some positively impacted my life and others negatively affected. Whether it was a positive game a negative game thought, I was always forming friendships along the way. Being able to connect with others while completing a task or solving a problem allowed for me to truly understand if those were people that I want to surround myself with. You may be wondering how I'm going to transition into a dating app that involves trivia, but trust me, there is a connection. These friendships were and are amazing, but at some point in my life, I wanted to start looking for something more. While attempting to reach that goal, I wanted to maintain what I had learned from playing video games with friends. While trivia is not as advanced as a Triple AAA gaming franchise, it is a problem that needs to be solved, and it requires a certain mindset to complete. By placing those questions into a traditional dating app style, I feel as if I have found a formula that can help someone, if not me, find their someone else.
What it does
Snattch is a dating app aimed to match users based on their trivia knowledge. User's are prompted to create an account (or sign in if user already has an existing account). After successfully signing up, new users are prompted to fill out their credentials and then, answer 20 trivia questions. Depending on how many they got right or wrong, they are assigned a 'score' which matches them with other users who have similar scores.
Unlike other data apps, everyday users are prompted a trivia question that can either increase or decrease their score; potentially, changing their matches.
How we built it
- Utilized Google cloud architecture to intergrade Firebase.
- Used Firebase's authentication (create and sign in) for user accounts
- User credentials (name, age, gender, bio, score) were stored in Firebase's database with it's key being the UID while it's values being the respected credentials.
- Designed the UI and functionally using React-Native, Javascript, CSS, and Python
- Trivia questions were taken from Trivia.com's API. The daily questions are updated every 365 days as existing users are assigned a question everyday.
- Testing if the UI was done with the Expo CLI for React-Native
Challenges we ran into
Accessing Database Queries Correctly:
- Indexing specific UID's and retrieving their score was a bit challenging as our error was because of implementing a deprecated version of retrieving information. After an hour, we realized that we needed to use the newer implementation of Firebase's retrieval instead of the old version.
Twilio API for Messaging :
- Late into the night we encountered issues implementing Twilio's API as a means of communication between a match. While we could have used SMS messaging system within Twilio, this would require us to store the user's phone number in our Firebase system and find a way for our python communication program to communicate with our database. With Firebase giving us issues already, we decided to spend our time elsewhere.
Accomplishments that we're proud of
Implementation of Respective Languages:
- 3 out of 4 members are new to Java Script and CSS. Given the time frame, we believe it was impressive the amount we learned and how to use these languages in the future.
Google Cloud Implementation:
- This was our first time using any Google Cloud products on a piece of software. So seeing it come to fruition was incredibly satisfying.
Overcoming Adversity:
- Some parts of the project were difficult to implement and understand. Instead of giving up, we helped each other out to find the solution.
What we learned
- How to implement Google Cloud products
- The implementation of Java script, CSS, and Python on a mobile app
- Got more familiar with front-end/back-end applications, API's, programming languages, and design
- How sleep is incredibly important as the brain needs to relax!
What's next for Snattch
- Create a working messaging platform.
- Implement user profile pictures
- Hosting the complete application in the cloud
Log in or sign up for Devpost to join the conversation.