The term "mood" or "vibe" has become quite the popular phrase in today's casual vocabulary, associating with feelings and emotional states as a result of the ambience, aura, and atmosphere of a place or event. Drawn by the audio aura feature from Spotify Wrapped 2021, the Moodz team set out to create a way to measure the aura of Berkeley. As fellow first-year grad students, we all had trouble figuring out what the culture here is at Berkeley.
The broader inspiration for this product came as a result of the fact that we live in such an unprecedented time as students. The impacts that worldly current events to day-to-day interactions have on our mental health is tremendous. When walking through Berkeley campus, we can't help but overhear and observe conversations about the level of stress students face, the amount of insecurities they discuss, and the intensity of anxiety on the faces of many students walking to class. To bring light to these feelings, we created Moodz!
What it does
Moodz is a web-application built on React.js/TypeScript, Flask/Python, and Google Firebase that allows UC Berkeley students to see what the vibe is on campus. Berkeley students are able to associate with a vibe by choosing from a selection of words that correspond to its respective mood alongside with their associated department for data visualization purposes. After the user sends in their mood for the session, they are able to see the broader Berkeley campus mood by hovering over locations of buildings on campus that correspond to the school/department. Furthermore, students can also get a measurement of Berkeley campus's overall vibe.
How we built it
While our platform looks straightforward, designing it and developing it was a whole adventure. On the design side, our fun moody graphics were hand-drawn. The component system and styles were all written from scratch with the exception of Material UI's select dropdown menu. The data visualizations and the backend gets a little interesting. We trained a model of words using Natural Language Processing to obtain a numerical sentiment to measure the severity of the words in each category. By randomizing sets of words in each user session (tracked by a randomized cryptographic hash), a user submission of their mood will go into our Firebase database. As a result of unprecedented and unexpected challenges along the way in regards to Firebase async issues as well as Flask environments, a significant portion of our project was substituted by "dummy data" to mock the representation of our user inputs. Fortunately, we were able to obtain the user moods but async/await issues pushed us to resort for mock data.
Challenges we ran into
We ran into a quite a number of issues with the project! But that doesn't mean we couldn't get it to work. The premise of Moodz lies on three main technical components: user input, database transactions, and data visualization. We were able to meet two of those metrics (user input and data visualization)! However, what set us back on database transactions was the result of unexpected async/await issues in obtaining Firebase Realtime DB data. While users were able to write into the DB, reading the DB was much more difficult. For some reason, our Flask environment ran into issues as well with hosting and so we resulted to obtaining our data on the client side. While we were able to obtain and map our data, the time was coming to an end.
Accomplishments that we're proud of
We're a team made up of 3 beginners and 1 veteran! Building something that will not only help us out but possibly the rest of the university out is something that we truly take pride in.
What we learned
Oh boy was there a lot to learn. We learned what it was like to develop on a short timeframe, to ideate and create with plenty of challenges in the way, to utilize so many different libraries and packages to visualize "moods" at Berkeley!
What's next for Moodz
Other than cleaning up the onslaught of mock data and database transactions, the goal for Moodz is to expand to early user acquisition and ideally get the Berkeley Tang Center on the board with crowdsourcing student moods.