LA Hacks 2020
As a fellow teen stuck indoors all day with spring quarter a day after LA Hacks ends, I am not looking forward towards Zoom lessons (much too expensive for a TV subscription). More importantly, I am the type of person that likes to take notes on my laptop, and my experience with Zoom classes so far has proven difficult. Therefore, I decided to make a mobile app that helps me and other students to mediate the rough learning environment ahead.
What it does
Ok Zoomer is an easy way to automate taking notes. With the simple press of a button, students can start or stop an audio recording, which gets automatically translated into text. In case of any translation errors, students can edit this, before pushing the transcript (in a Git style of way) to Cloud Firestore, where it is automatically merged with other notes from that class session. Ok Zoomer provides class organization and automatically saves to different directories based off a user-input schedule and the current time of day (in order to maximize efficiency during spring quarter). At any time, students can navigate to a results page, where they can select a course transcript to review.
How I built it
My entire backend is built using Google's Cloud Firestore, which takes care of both login credentials and data storage. The rest of the project was built in the Xcode environment using Swift and quite a few ViewControllers.
Challenges I ran into
Firestore gave me quite a bit of trouble, because I'm not experienced in iOS development and this was also my first time using Firestore in a mobile application. Simply setting up Firebase and getting the login screen working took me most of the first 6-ish hours of the hackathon. One issue in particular that annoyed me quite a bit was my iPhone 8's incompatibility with Xcode's software packages (something to do with an iOS version incompatibility that I couldn't figure out on Google). Therefore, I wasn't able to get my app deployed onto my personal iPhone, but it still works with Xcode's simulator, as will be displayed in the demo video.
Accomplishments that I'm proud of
I'm pretty proud of my overall product, since I was able to make a functional full-stack mobile application for my first iOS project. In general, I was also surprised at my efficiency in doing so (yea I slept at 5), and doing this hack served as a self-fulfillment project that validates my interest in computer science moving forward.
What I learned
I went from knowing nothing about mobile app development and Swift to gaining a proficient understanding. I also am a lot more comfortable now with Firebase. As this was also my first full stack project, I also gained an appreciation for the work that goes into design, because I feel like that is an aspect of development that is usually underrated (especially by past me).
What's next for Ok Zoomer
A couple smaller ideas that I have for Ok Zoomer include better integration of a calendar (potentially incorporating Apple Calendar or Google Calendar) and a slight redesign of the UI. Beyond some trivial cleaning of the app, I plan to incorporate NLP into the transcripts. By doing so, Ok Zoomer can serve as a better educational tool that not only assists in taking notes, but also organizes them and in the future, possibly can provide a summary of important points. Another idea I had for the application is to provide better connectivity into things like Google Drive, and code functionality to export language transcripts there. Furthermore, Ok Zoomer currently does have limitations such as grammar, which I also plan to work out in the future.
Some parts of the project (bits of code, github, etc.) refer to the project as MeasureMe, which was a different idea I originally had for the hack, so please do ignore :)
Try It out
firebase, firestore, speech, swift, uikit, xcode