This year we participated in our 1st Hackathon. As three CS students with no experience building apps front-to-back, the idea was quite intimidating but exciting at the same time. We dove right in and after a bit of ideation, we landed upon the perfect idea. In a world where language is constantly changing and new slang is coming out left right and centre, it can be difficult for our dear parents to keep up with us kids. The Zoomer to Boomer web app is the answer to any parent whose trying to connect with their rebellious teen! While the app is still in its infancy, we've had a ton of fun putting it together and can't wait to keep working on it beyond this weekend.
What it does
Our project converts the everyday gen Z talk into boomer talk by using an urban dictionary API that looks for the words found in the input and running each word against our data to see of there are words that have a meaning found in the urban dictionary and showing the work with its meaning in simple English.
How we built it
We used flask to create the backend server and used react.js to create the front-end UI. Flask used and urban dictionary API to fetch the data which was then stored in the format of a dictionary which had the key as the work and the values as the description of the word. To make sure that the description was accurate and not just a bunch of random definitions, we implemented a threshold limit for the upvotes. that meant that only the definitions with a certain no of upvotes would be considered for being the correct definition for the word.
Once we figured out how to extract the data we went ahead the created the front end which was the UI where we could take the sentence that the user wanted to translate and then find the for each word there and print out the meaning of each word in simple English. It also took abbreviations like smh and prints out that it means 'shake my head'. We also added a profanity filter to that replaced the words with asterisks. We then integrated the front-end and the back0end together and got it to first run on a localhost which once it printed everything the way we wanted it to we then went ahead to host the website on AWS.
Challenges we ran into
Our biggest challenge was the lack of experience our team had with the technologies we used. None of the team before had used JS/React or EC2, let alone use it to build a full-scale app. Needless to say, learning all this was quite the challenge, however, we were able to overcome them through the help of mentors, video tutorials, and our determination to push forward!
Accomplishments that we're proud of
Our biggest accomplishment is that we were able to meet the minimum valuable product that we set out at the beginning of the hack. Our goal from the begging was to meet the MVP that we set out. Given that this was our first time using the technologies we used, we were extremely proud of the fact we were to meet the MVP. We are also proud of the fact that we were able to code and complete our project even though all group members were very ill. Each group member came down with some sort of illness (coughing, sore throat, headaches, etc), however, we were able to perceiver through it and hand in a working end product!
What we learned
Since this was our fist time creating a website from scratch, throughout our entire time "hacking" we collected a lot of experience in everything that we did. We had basic idea on creating the front-end and the back-end parts separately but didn't have much experience when we needed to combine them together. We had to do a lot of researching when creating and joining the two parts together. Our mentors were a huge help when we wren stuck on a part that we didn't know about or how to move on from due to the presence of a lot of errors . We also learned how to the host our website first on the localhost and then on the AWS. But overall this hackathon was a lot of fun.
What's next for GenZ Translator 3000
In terms of the next steps, we would like to improve our application visually. Updates to the color, graphics, background, etc. Are all aspects that would make out interface look more appealing to the end-user and would make this application better. Furthermore, we would also like our app to scan sentences for names and other words that do not need to be defined. Finally, we would like to incorporate NLP ( natural language processing) to return synonyms, ignore tense, and solve other such language issues.