Inspiration
Our journey with DevPair began with a shared frustration: the inefficiency and isolation of traditional Data Structures and Algorithms (DSA) practice. We, the creators, experienced the struggles of finding reliable coding partners, the lack of personalized practice problems, and the absence of immediate feedback during our own DSA endeavors.
This frustration ignited a spark of inspiration. We envisioned a platform that would revolutionize DSA learning by harnessing the power of artificial intelligence and fostering a collaborative environment.
What it does
DevPair empowers you to level up your DSA skills through:
- Personalized Challenges: Leveraging Google's Gemini AI, DevPair generates custom DSA problems tailored to your skill level, ensuring a constant learning curve and keeping practice sessions engaging. (https://cloud.google.com/products/ai)
- Randomized Partner Matching: No more struggling to find a study partner! DevPair connects you with other programmers, fostering new connections and promoting a broader learning experience.
- Real-time Feedback and Collaboration: Work through problems with your partner and receive instant insights and guidance on your code with Gemini AI's real-time feedback. Additionally, collaborate through video chat, text chat, and screen sharing features.
- Accessible Learning: We harness the power of pair programming, enabling developers worldwide to collaborate in real-time. This approach accelerates problem-solving and innovation. DevPair creates an interactive environment for developers to share knowledge, refine skills, and co-create solutions, regardless of their location.
How we built it
To bring DevPair to life, we focused on the following:
- Integrating Gemini AI: We integrated Google's cutting-edge Gemini API to create a system that generates personalized DSA challenges. (https://cloud.google.com/products/ai)
- Randomized Matching Algorithm: We developed a robust matching algorithm that randomly connects users with other programmers, fostering a dynamic learning environment.
- Real-time Communication Features: We incorporated video chat, text chat, and screen sharing functionalities powered by Agora-RTC, enabling collaboration between partners. (https://docs.agora.io/en/)
Challenges we ran into
While building DevPair, we encountered a few hurdles:
- Gemini API: When utilizing Gemini AI 1.0 Pro to generate DS&A problems, we experienced the following: inconsistent prompt formatting which lead to not being able to display the problem properly to the user, invalid test cases for the generated problem (i.e. Gemini treated Arrays as if indexes started at 1 instead of 0), extra markdown even when prompted not to include markdown, recitation errors even when given a different prompt, and unit tests weren't properly working consistently (i.e. Gemini AI wouldn't know how to handle comparisons of array values).
- Judge0 API: Prior to implementing judge0 API, we would run untested user submitted code in our backend test file which we realized would open us up to security vulnerabilities which lead us to judge0--an online code execution system which would be more simple and scalable for our project. It also allowed us to easily capture console.log statements for user debugging. There were difficulties parsing stdin to maintain type consistency.
Accomplishments that we're proud of
We're incredibly proud of DevPair's potential to transform DSA practice. Here's what excites us:
- Engaging and Efficient Learning: DevPair offers a more engaging and efficient approach to learning by combining personalized challenges, real-time feedback, and collaborative features.
- Empowering Users: DevPair empowers users to reach their full potential in the world of DSA by providing a supportive and dynamic learning environment.
- Accessibility: DevPair creates an interactive environment for developers to share knowledge, refine skills, and co-create solutions, regardless of their location.
What we learned
Throughout this journey, we've learned a lot:
- The Power of AI in Education: Gemini AI's ability to personalize learning experiences is truly remarkable.
- Importance of Collaboration: The power of collaborative learning in solidifying DSA concepts is undeniable.
- Prioritizing User Experience: Creating a user-friendly and accessible platform is crucial for user adoption and engagement.
What's next for DevPair
We're constantly innovating and looking to expand DevPair's functionalities. Here's a glimpse into the future:
- Advanced AI Integration: We plan to explore deeper integration with Gemini AI to offer even more sophisticated learning experiences. (https://cloud.google.com/products/ai)
- Community Features: We aim to develop features that foster a stronger sense of community within the DevPair platform.
- Data Analysis and Insights: We plan to leverage user data to provide personalized learning insights and recommendations.
We're excited to see how DevPair evolves and empowers the next generation of DSA learners!
Built With
- agora-rtc
- flask
- flask-socketio
- geminiapi
- postgresql
- python
- react
- redux
- sqlalchemy
- typescript



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