Our app was based around the concept on information sharing and debate. The United States specifically has been a hub for misinformation and partisanship, so we wanted to design an app to promote discussion in a public manner.
What it does
Justifi is an iOS app that allows users to post, view and respond to other peoples' questions. The app begins with one user posting a question that other users can respond to. This original question video is also categorized based on the content that is spoken about. The app also allows users to create their own account and receive a tailor-made feed populated based on their likes and popular questions. This is based on the content they like and the popularity of other users' questions.
Understandably, one concern we had is the spread of toxicity and vulgarity on the app, and with the help of Google's API's we filter out content that is flagged as overtly profane and toxic.
How we built it
Our app primarily revolves around SwiftUI, an Apple-designed language created to develop iOS, iPadOS and MacOS applications. We decided to focus on iOS just for usability and simplicity as well. We connected our frontend with an Express.js backend using Node.js and a MongoDB database. Additionally, we used several of Google Cloud's API's to assist with some of the more complex features. Specifically, we use their pretty new perspective API to analyze the profanity and toxicity of a user's verbal content. Additionally, we used their API's to put transcribed content into categorical buckets, which we used to track a users engagement with a particular topic. This is used to give them recommendations. We were able to transcribe these audio files in python and pull a .wav audio file from the uploaded videos.
Challenges we ran into
The first challenge we ran into was the sheer amount of work we gave ourselves. In previous hackathons, all of us had been in teams of 4, whereas this time around it was only 3 of us. Another challenge was the use of SwiftUI. Only one of us had ever worked with Swift, but even he hadn't worked with Apple's most recent update to the language. Of course we had many other challenges such as dependency issues, road blocks, but most of all working with videos and data streaming gave us the hardest time. The size of the videos caused a decent amount of delay on upload and made the process harder to test and render.
Accomplishments that we're proud of
Our team is proud of the fact that we were able to build such a complex system in such a short period of time. On a related note, we are able to process multiple video recordings, process and store them which was difficult to implement for us.
What we learned
We were able to learn about the technologies we used especially SwiftUI and many of the API's that Google offers in terms of natural language processing.
What's next for Justifi
There are definitely a few bugs to work out in the app, but otherwise, we would love to be able to deploy the app on the App Store officially in the future.