Computer Science students at the University of California, Davis, developed the Speech Prep Pal app as a class project using Google Cloud. Designed to help people prepare for speeches by analyzing how closely they stick to the script while rehearsing, the app improves a speaker’s confidence and even helps remove some of the fear in addressing a crowd.
Students’ mobile app builds confidence for public speakers by turning phones into speech coaches
Engineering students at the University of California, Davis (UC Davis) are required to take a public speaking course to develop confident presentation and public speaking skills when explaining designs and project requirements. So when Armand Nasseri, Yara Fawaz, Jennifer Nguyen, and Sam Waters—four seniors majoring in Computer Science (CS)—were assigned to create a speech preparation app for their senior design project, they took up the challenge. The opportunity to design and develop a new type of speech app transformed their senior graduation requirement into something they could use in their own lives.
“We were surprised to find there was no app available on the Google Play Store that helped with speech preparation,” says Nasseri, one of the student project leads. “If I’d had an app designed for speech-making during my public speaking class, I probably would've gotten a better grade.”
But the team had to quickly figure out what they could realistically build in their last two quarters at UC Davis. “We didn't want to overestimate what we could do within our given time frame,” notes Nasseri. “Our most crucial need was understanding the development tools that we were going to use in implementing this, before we could make plans for what we wanted the app to do.”
They decided to build their app with Android Studio, the Integrated Development Environment (IDE) used for Android app development. Several of the team members were familiar with Google’s speech-to-text API, and the documentation appeared to be comprehensive. With guidance from their faculty advisor Xin Liu and Google technical mentor, software engineer Travis Heppe, the team determined their app’s scope and weekly milestones for the next two quarters. They would have only 20 weeks to complete their app.
“If I’d had an app designed for speech-making during my public speaking class, I probably would've gotten a better grade.”
Armand Nasseri, student, University of California, Davis
Designed to track hiccups in delivering a speech
As they ramped up on Android Studio, the team created a rough UI framework with the must-have features that they could later build upon. They soon realized an essential capability would be tracking deviations from prepared scripts against some form of voice recording. Google Cloud’s Speech-to-Text API would supply the speech transcription technology. But the app needed a way to flag and track the deviations—essentially the mistakes a user might make while practicing their speech.
The team found a GitHub repository for Google’s Diff Match Patch, an API designed to find differences and matches in plain text. Within a week, the students had learned the tool, “and luckily for us, it came with really good documentation on how to integrate it,” says Fawaz, the other team lead on the project.
By the end of their first quarter of the class, the team had decided on the tools they would use, as well as a name for the app: Speech Prep Pal. Now at the project’s halfway point, they were eager to start on the main development as Spring quarter rolled around.
Hitting their development stride
With development underway, weekly meetings with Google’s Heppe provided the technical review and guidance to keep the project on track, while their faculty adviser monitored their progress along the way. They learned how to work as a team, how to conduct code reviews, and how to course correct when needed.
“Once we mastered the speech-to-text functionality, we would try practicing speeches and could see that the phone was outputting what we were saying,” says Fawaz. “That was our ‘Aha, it’s really working!’ moment. It boosted our motivation to get as much completed as we could.”
“When you open the app, you’re prompted to a main menu, which lists all current speeches you’ve input or recorded,” Nasseri explains. “If you want to create a new speech, you move to another screen where you can enter a speech name and text. Then you can start recording yourself, and reciting that speech.”
Once a user finishes rehearsing the speech, the app takes them to a processing screen that shows them the accuracy of their latest try. “Metrics display the percentage of accuracy regarding your intended speech,” says Nasseri. “And if you’ve deviated too far, it'll give you some user-friendly feedback to help you improve.”
Image: Diagram 1: Speech Prep Pal uses Cloud Speech-to-text API to transcribe and process user input. Diff Match Patch compares this input to the correct speech to give the user feedback via Speech Prep Pal’s interface.
“It could be used by anyone who needs to practice speeches and improve their public speaking skills,” adds Nasseri. “That means students, professors, politicians, anyone who wants to better their performance before giving a speech.”
“I think this app has real potential because of its uniqueness,” says Fawaz. “Currently, there is no all-in-one tool to improve public speaking skills in the way that we envisioned.”
“This app has real potential because of its uniqueness. Currently, there is no all-in-one tool to improve public speaking skills in the way that we envisioned.”
Yara Fawaz, student, University of California, Davis
Why students should consider developing on Google Cloud
Fawaz notes that a big benefit of using Google Cloud is its online documentation plus a community forum with answers to questions: “A new developer has access to hundreds of existing questions and answers about Google Cloud projects on the Internet. When there isn’t anything specific to an issue that you have, asking your question on a platform like Stack Overflow brings a lot of responses from people who've had experience with Google Cloud.” As for Google’s Speech-to-Text API, “there were plenty of code snippets on the Google website, and there was a list of external references to help in the process,” says Nasseri.
Google’s Github repositories provided plenty of information about how other users had implemented both the Speech-to-Text and the Diff Match Patch APIs into their own projects. With the help of these resources, Nasseri and team were able to build an app that uses no backend server. “It simply makes calls to the APIs, and everything else runs locally,” explains Fawaz.
As the students prepare to enter the workforce, their experience in developing Speech Prep Pal has helped them build not only app-development skills, but also a deeper understanding of the power of effective, confident presentations and public speaking.
Get started with Google Cloud’s higher education learning center at: g.co/learncloud/programs