Started as a side project to solve a real need around public speaking. Leveraged OpenAI APIs to give live, AI-driven feedback in a user-friendly Angular interface.




The Challenge
Despite the rise in online communication, many people still struggle with public speaking anxiety and have limited access to feedback tools that are both accurate and accessible. The goal was to create an intelligent system that could evaluate speech clarity, tone, and pacing in real-time, without overwhelming users with technical complexity.
The Solution
PupAi was built as a full-stack web app with a clean Angular 20 frontend and an Express.js backend, connected to MongoDB for session storage and JWT for role-based authentication. The app allows users to record or upload their speeches, which are then processed using OpenAI APIs. The system returns actionable feedback, including pacing metrics, filler word detection, tone evaluation, and clarity scoring. Audio files are stored securely in AWS S3, and the platform is deployed on AWS EC2 with SSL and domain configuration for public access.
My Contribution
As the sole developer, I designed and implemented the entire system end-to-end. On the frontend, I built responsive role-based dashboards for users and admins, integrated audio recording and upload features, and created a clean UI for displaying AI feedback. On the backend, I structured the OpenAI prompt flows, implemented secure authentication with JWT, connected to MongoDB for persistent storage, and deployed the infrastructure using AWS services. I also handled CI/CD and testing for both frontend and backend components.
Key Outcomes
- 🚀 Built and deployed a working MVP in just 30 days
- 🎤 Enabled users to get real-time AI-generated feedback on speech clarity, tone, and delivery
- 🧪 Received strong engagement in demos and usability tests, validating the product-market fit
- 🧱 Laid the groundwork for future enhancements like pronunciation scoring and personalized coaching
Lessons Learned
Building fast with generative AI requires tight control over prompt design and result parsing. I learned how to shape user experiences around unpredictable AI responses, how to iterate quickly with feedback loops, and how to maintain usability while integrating cutting-edge tech. Working solo also deepened my skills in full-stack deployment and cloud resource management.