It started with speech impairment: a four year old, our teammate Isabella’s cousin, who struggles to differentiate similar-sounding words, like “bow” and “boat”. We wanted to create a practice tool to help him and others with speech impediments. Our hack, Speak Easy, was born: a fun, free, user friendly quiz app designed to supplement speech therapy. While brainstorming, our team realized that others could benefit from SpeakEasy’s versatile practice model for English pronunciation, such as ESL learners. In the future, we hope to take SpeakEasy further with user customizable words and phrases, a review mode, and an improved kid friendly interface.

What it does

Speak Easy is an Android app and web app designed to help people practice English pronunciation. To start off, it presents users with a list of words to say. The app records the user’s speech and transcribes it, then compares the transcribed speech with the given phrase. It returns feedback to the user about whether their pronunciation was correct. This model enables users to easily practice words with which they have difficulty.

How we built it

We designed our application to be in several interconnected modules.

We have a REST API backend (running Flask Python on an Azure Virtual Machine) that serves up a list of phrases, and handles all network transactions with Google Compute Platform.

We designed a front-end interface for Android, which would interact with this API, and using “gamification” principles, would incentivise the user into practicing more.

We also developed a minimal proof-of-concept as a webapp. This interfaces with the Flask API directly, and can prompt the user with phrases, speak the phrases out loud as an example, and listen to what they say.

Challenges we ran into

We ran into challenges interfacing with Google Cloud’s APIs, as well as combining our different sections of the code. One member wrote most of the functionality in Python and JavaScript, while another wrote the flashcard functionality in Java in AndroidStudio. Another member did most of the UI work in Sketch, then transferred it to AndroidStudio. Figuring out how to take all the different pieces and mesh them together provided challenges that we haven’t quite overcome yet.

What we’re proud of

"It works." - Chris

What we learned

In order to code Speak Easy we learned how to work with a gradle, as well as JSON. All around, we got more experience working with unfamiliar programs, like Sketch and AndroidStudio, and introduced each other to our favorites, like Pycharm and Webstorm. For most of our group, building a multi-screen app was a new experience. On the design side, the hardest lesson was minimizing the app into a barebones model we could build and present by the end of the hackathon. Along the way, many great ideas about additional features and functionalities were discarded - for example, a replay audio button so users could listen to themselves versus the correct pronunciation - but we’ve noted them down and hope to resurrect them in a future iteration.

What's next for Speak Easy

This Sunday afternoon is not the end for Speak Easy. We plan to continue to polish the user interface, expand the app’s functions with features like a review mode, and research common pronunciation difficulties seen in people with articulation disorders or approaching English from other language backgrounds. Down the road, we hope to pitch Speak Easy to accessibility programs like the University of Washington’s HuskyAdapt RSO, a club that adapts toys and apps for young children with disabilities. With funding, feedback, and audience interest, we could take Speak Easy from a basic Hackathon prototype to an app that will serve users in our community, as was our original goal.

Share this project: