Inspiration
I was a very shy child. I'd freeze up when called upon in class, and even everyday conversations felt like a barrier. My parents, noticing this, placed me in Speech & Debate hoping it would get me to come out of my shell. While it eventually did, it wasn't without difficulty. I was too afraid to seek assistance, as I felt everyone else was better than me. I remember wishing for a private, judgment-free zone to practice — something that could give me honest feedback without the possibility of being watched. On weekends, when I couldn't see coaches or get feedback, I'd often feel lost. SpeakUP is the app I always wished existed — a virtual coach to help people like me find their voice, no matter how softly they start.
What it does
SpeakUP is a web-based speech coaching application that helps users become more confident speakers. Users have the option to upload an audio file of their speech, which is then analyzed and transcribed. The app calculates the speaking rate (words per minute), filler words, clarity/readability, and emotional tone based on the language used. Users instantly receive personalized feedback, coaching tips, confidence-boosting quotes, and areas of improvement. SpeakUP even includes an improvement chart to plot improvement over time and a journal feature for users to reflect on their speaking experience.
How I built it
I built SpeakUP with Python in Google Colab and Gradio for creating a tidy and interactive interface. I integrated OpenAI's Whisper model for transcription, TextStat for grading readability, and NLTK for speech content analysis. Emotion keywords and filler words are identified with custom dictionaries. The app keeps users' sessions with a simple in-memory store and graphs speaking performance over time using Matplotlib. All of the features are integrated into a single dashboard that offers users encouragement and structure as they practice.
Challenges I ran into
One of the largest challenges was creating feedback that was immediate, yet constructive. I did not wish the app to come across as robotic, but rather as helpful, so creating personalized coaching prompts and associating them with real-time analysis was a delicate balance. Discovering how to create meaningful emotion detection and how to coach enunciation was also a challenge especially since I was solo hacking. I also had some minor issues with progress display and data storage since I opted for a light, in-memory solution, but I was able to easily hack around them in the short term
Accomplishments that I'm proud of
I'm proud that SpeakUP does feel like a supportive space to improve. From the journaling to the speech feedback to the inspirational quotes, it was important to me that this app didn't merely analyze — it motivated. Seeing the progress chart form and knowing that even a single shy student could be assisted by this tool is something I'm very proud of. I was also able to combine speech technology, emotional support, and user experience in an beginner-friendly and yet potent way.
What I learned
Along the way, I learned how to leverage the strength of numerous Python libraries in tandem with each other, from Whisper to Matplotlib. But more importantly, I reached a better understanding of the problems shy speakers face, and how technology might be leveraged to assist in creating safer, more inclusive spaces for them to grow. I also learned that the creation of a product is not just code — it is feeling, empathy, and those small details that make a tool feel human.
What's next for SpeakUP
In the future, I'd like to add real-time voice feedback, where users receive analysis live as they are speaking. Improving emotion detection with more sophisticated machine learning models is in the pipeline. In addition, I'd love to make the app mobile-friendly so students can use it on the go, and in the future, I envision ourselves partnering with schools or speech organizations to empower even more introverted and underrepresented voices.
Log in or sign up for Devpost to join the conversation.