Inspiration
As a former alum at the Yale Debate Association (YDA) during high school, one of our teammates, Farhan Kittur, gained a serious love for debate. However, we noticed Debate has a huge barrier to entry; it’s hard to practice speeches and improve your skills without registering for official competitions, which may not be always possible or practical. So, we decided to make Dialex, an app that allows users to practice debate against AI and other users with a chess.com ELO inspired ranking system.
What it does
Dialex lets its users debate against AI on various topics in order to refine their debate skills. It processes the user's speeches with live transcription and vocal analysis to analyze pacing, confidence, conviction, calmness, and engagement. These analyses are then used to generate scores and feedback for the user's speeches. Additionally, users can face off against other debaters in a skill-based matchmaking system similar to that of chess.com. User vs User debates are scored and judged by AI, and game results directly affect users' ranks. Users can also see their improvement over time in a dashboard that shows their skill maps and previous debates.
How we built it
We used NextJS + React for the frontend, and Python FastAPI and MongoDB for the backend. We implemented Gemini for RAG embeddings, feedback generation and debate opposition. We also made use of ElevenLabs for transcript generation and text-to-speech. We primarily used Zed to edit our code, and used Websockets WebRTC to manage streams of data passing between consumers.
Challenges we Faced
One challenge we faced was connecting the two video streams together for the live arena feature. This feature involves being able to set up video streams on multiple different accounts, and get live view footage from each debater’s end. We ran into struggles managing the websockets streams and keeping data consistent and certified, but we worked through the problems by debugging and reworking our fixes iteratively.
Accomplishments that we're proud of
We are proud that we were able to make a working system to score and give relevant feedback to users. This can greatly improve user’s debate skills by providing valuable tips and considerations that they may have missed during their debate, so that they can be much more prepared for the future.
What we learned
During Yhack, we learned how to quickly plan and coordinate roles between team members. We also learned to integrate live data streams with low-latency AI workflows using FastAPI and NextJS.
What's next for Dialex
In the future we can implement rulesets for various formats of debate, such as Case-style or British Parliamentary style debate.

Log in or sign up for Devpost to join the conversation.