As students at UTD, we know that a common complaint of university is how difficult it is to meaningfully socialize with others - to truly connect with like minded individuals. We realized that many students were more comfortable expressing themselves on online forums under the veil of anonymity, so we decided to create a platform that offers a new approach to human relationships in the hopes of connecting people on a wider scale.
What it does
Reflekt explores a new way to connect with others, regardless of appearance and race. We streamlined the application to easily find people that are seeking the same relationship goals as well as those with similar interests. The app features a user base connected to a Google Firebase backend that securely stores our users and their data. Users can make a profile with a username, hiding everything about their identity besides their personality, interests, and what they're seeking in others.
Users can view profiles near them by pulling from location from Google API. They'll be able to see the profiles of others that are looking for the same types of relationships, whether that be casual dating, friendships, or serious partners. They can choose whether or not to connect with a user, and mutual connections will send a message to both users and allow them to talk to each other using a built in messaging app that securely stores messages on a cloud database.
You can try out our interactive proof of concept at Adobe XD link here.
Our actual implementation demo can be viewed here.
How we built it
We built the app in Android Studio using Java and XML. The UI/UX was designed in Adobe XD with graphics created in Photoshop. We used Firebase as our database to store profiles, messages, and collated interests.
Challenges we ran into
We had never worked with Firebase before so it was a difficult experience to try and get it to work the way we wanted it to. We had no idea how to set up the database in an understandable format. We also ran into issues retrieving the data from Firebase. While doing such, we erased our data multiple times from incorrect usage of Firebase. We accidentally overloaded our database and crashed our phones twice.
Authentication for users became a massive pain because Firebase stored users and user info, but we tried to use an external authentication method that began a massive chain of issues both security wise and implementation wise. Retrieving GPS info was difficult mostly because of API integration proved to be far more difficult than anticipated. The issue of distance changes based on altitude and latitude. We had to pull the collated information in a real time database and update it live. This occurred in both the messaging activity and the adding interest activity. This was a real challenge as we were still learning Firebase and doing efficient pulls and pushes to the database were surprisingly difficult. Most of us had never developed for Android before and didn't even know how to use XML, so starting a project entirely written for Android was a huge hurdle to climb as it has a huge learning curve.
Accomplishments that we're proud of
We are proud of email-password authentication and storage of user info, including their profile. We created basic profile creation that includes an algorithm that suggests autocompletes when a user types an interest that pulls from the entire user database of aggregated interests, allowing users to more easily select similar interests. We're proud of creating our own messaging server via a cloud database.
What we learned
All of us learned how to use Google Firebase for the first time ever. We created our own messaging server and stored messages, user login info, and user profiles on real time databases. None of us had ever done UI/UX design, and we learned an entire program (Adobe XD) to do so. You check out Tiffany's dev blog to see how the design evolved.
What's next for Reflekt
We hope to move forward from our proof of concept and implement more of the UI. The actual implemented UI is extremely basic, but includes most necessary features. We are also missing features such as only showing users with the same relationship goals as the user, viewing profiles from messaging, and others.