Inspiration

We have a few language learners in the group who wish that they could work on their pronunciation while also making sure that they were actually pronouncing words correctly. The best way to do this, of course, is by having native speakers comment on your pronunciation and flow.

What it does

Users have the ability to generate a random text in a specified language of their chose. They will make an audio recording on their own, and then upload it. Other users on the site will be able to click on the post, listen to the audio, and judge the user's pronunciation and give their feedback by commenting on the post. The kindness of strangers taking the time out of their day to help others speak their language is something that doesn't take long and can be facilitated via our web app.

How we built it

We used React to build the frontend and express for the backend, with MongoDB as a database. We stored the posts in a database so that they persisted. The generated texts are also stored in a database so they can be randomly chosen every time the button is clicked. Currently, there are only hardcoded options available for proof of concept.

Challenges we ran into

This was the first Hackathon for all of us, so our biggest hurdle was just getting started. Much of our first couple hours was figuring out our tech stack and learning how to use each tool from scratch. CSS sometimes presented an obstacle, as it could be finicky, but I think for the most part we were able to make it work by compromising with a simple but stylish design. Learning how to keep data persistent also proved to be a a challenge, like getting posts and comments to display on both the individual post page view and the home page view.

Accomplishments that we're proud of

We're very proud of getting a working product out! Figuring out the workflow for effective team management and coordination was also very satisfying.

What we learned

As mentioned before, we had to learn everything from scratch: React, using GitHub to dynamically manage code, and using databases to store texts and user input.

What's next for Monkeyspeak

A lot! We want to allow users to upload their own texts and have posts provide the text along with the audio, syncing the two to show which part the user is reading. We also want users' comments to highlight the relevant portions of the text. In addition, we'd like to allow the poster to highlight "problem words" that they struggled with and get targeted help with that word from native speakers, or perhaps be able to generate a text-to-speech pronunciation aid. And of course, the finalized version of the app would feature a global server to which users everywhere could upload their posts.

Built With

Share this project:

Updates