Students want to explore clubs or departments across campus, especially when they have free food! Event information is often sent out through emails and social media posts, but students don't have the time to read through them and miss out on clubs and events they want to go to.
What it does
Our app organizes all of the events across UVA with free food and encourages students to expand out of their personal bubble.
How I built it
We used a Node.JS backend to retrieve tweets and extract the information from the text. The location description is then translated into coordinates using the Google Maps API. All the data is sent to Kibana to display a map of the events. Then the map and data are sent to our app built with OutSystems. Students can view all the events in a list or map format, and they can swipe away events to indicate that they attended the event. Students can earn points for each event that they check in to.
Challenges I ran into
Our natural language processing is exceptional at parsing text that reference the date ("9/23", "today", "next Sunday", etc.), time, and location of the event. When posts don't mention one or more of these pieces of information, the algorithm tends to confuse and misclassify information. Integrating the backend, Kibana graph, and OutSystems frontend.
Accomplishments that I'm proud of
Integrating Twitter and Google APIs. Creating and envisioning data using Elastic Stack. Being able to work with new platforms. Gleaning key event information successfully from raw email text/tweets.
What I learned
Conquering promises/asynchronous functions, discovering workarounds, how to analyze text using the nltk library, creating visualizations of data with Kibana
What's next for Snackeraid
Making the counter more fun! One idea is to weigh points for events based on the average number of calories students are "earning" for free. Also, we want to allow students to use their points to redeem discounts at reputable businesses, similar to Pocket Points. Extend implementation for other school campuses, or even for cities/towns that have multiple events occurring simultaneously for tourists/visitors (doesn't have to be free food). Further improving the natural language processing.