Inspiration
We have all been in a situation where we are presenting in class, at an interview, or in front of judges. Halfway through, you realize you are speaking too fast, saying "um" a lot, and not making eye contact. Most practice methods like rehearsing in a mirror or recording yourself do not give useful feedback. We wanted to create something that feels like a personal speaking coach in your browser. It watches, listens, and gives feedback right away. As students at Wilfrid Laurier, we deal with presentations, interviews, and competitions often. Pitch Ready came from our own need to improve but not knowing exactly what to fix.
What it does
Pitch Ready is a browser based platform for practicing presentations and interviews. Users can add a script or generate interview questions, turn on their webcam and mic, and practice. It includes a teleprompter that scrolls automatically, eye contact tracking, speech analytics, and AI coaching. It tracks speaking speed, filler words, and provides live feedback. After the session, users receive a report showing scores and progress over time. It supports both presentation mode and interview mode.
How we built it
The frontend uses React with TypeScript and Tailwind CSS. Animations were built using Framer Motion. Speech recognition runs in the browser using the Web Speech API. Eye contact tracking uses MediaPipe Face Landmarker. AI coaching is handled through the Groq API. Charts are built with Recharts, and results are saved locally so users can compare sessions.
Challenges
Eye tracking accuracy was difficult at first. We switched tools and used a simpler approach for better performance. Speech recognition sometimes missed words, so we added checks to detect fillers earlier. We also faced API rate limits and built fallback systems so the app still works without AI. Calculating speaking speed in real time also required testing before getting stable results.
What we learned
We learned how to integrate machine learning tools into a React app, handle speech recognition issues, and build real time analytics. We also focused on making the experience supportive and easy to use so users feel comfortable practicing.
Built With
- css
- framer
- typescript
Log in or sign up for Devpost to join the conversation.