Inspiration
Do you ever wish you have a smart friend to study with, someone who can explain thins to you when you can't understand your professor? Instead, there you are, alone and confused.
What it does
ClarifAI is a web app that enhances student learning and concept retention through two main functions:
- Listen to lecture and digest the material to store in a database of knowledge, with a ask feature that clarifies concepts in real-time.
- A teach-to-learn feature that challenges the user to "teach" to the app, who assesses the user's understanding of concept and ask clarifying questions.
ClarifAI is designed to support active learning, helping students quickly catch up when they encounter difficult concepts and strengthen their understanding by explaining the material themselves, following the Feynman Technique.
How we built it
- React with TypeScript for a responsive and type-safe user interface
- Python with FastAPI's WebSockets for a high-speed, asynchronous API
- WebSockets for real-time audio streaming between client and server
- Deepgram API for accurate speech-to-text conversion from streamed audio
- Google's Gemini API for powering explanation and understanding evaluation features
- MongoDB Atlas database with asynchronous ORM for efficient data storage and retrieval
Challenges we ran into
- Balancing speed and reliability for real-time audio streaming over Fast API and WebSockets
- Real-time parsing, API calls, and output generation
- Handling WebSocket and API endpoint disconnections and reconnections
- Git, cause we kinda dumb
- We were really hungry
Accomplishments that we're proud of
- Stunning UI with clean animations
- Near real-time audio transcription with minimal latency
- Successful integration of Gemini API
What we learned
- Effective streaming audio processing techniques
- Building robust WebSocket-based applications
- Managing state across a complex application
- Importance of rigorous version control
What's next for ClarifAI
We have ambitious plans to expand ClarifAI's capabilities to include more multimodal learning modes, including gamified experience that allow users to compete, as well as more personalized analytics that stores complex user data to track learning progress.
Built With
- beanie
- deepgram
- fastapi
- firebase
- gemini
- javascript
- mongodb
- python
- railway
- react
- restapi
- tailwind
- typescript
- vercel
- websockets
Log in or sign up for Devpost to join the conversation.