Inspiration

We felt the need to bridge the gap between solving coding problems and experiencing actual coding through collaboration. While most platforms focus on isolation, we aimed to create an application where practice, collaboration, and actual coding experience are combined together.

What it does

Using AlgoVerse, users can solve programming problems, execute their code on test cases, and look at their submissions. Furthermore, users can generate an AI-generated assignment, where users get to practice on instant coding questions. Also, AlgoVerse allows users to play with different codes and aims to support live coding sessions soon.

How we built it

We have used Python and FastAPI for our backend along with a JSON Web Token for authentication. We have stored all the user details, questions, and user submissions in the PostgreSQL database. The frontend is developed using NextJS with the minimum viable UI design.

Challenges we ran into

We had challenges with bcrypt password length restrictions, inconsistent AI responses, and ensuring secure code execution. Managing hidden test case handling and submission states was difficult too. It was a challenge to integrate the frontend and backend seamlessly while having a neat and responsive UI as well.

Accomplishments that we're proud of

We managed to build an entire end-to-end app for authentications, submissions, and even AI-assigned problems. Our solution has real-life evaluation logic with hidden test cases. In addition, our product has a neat UI as well as a scalable backend, making our solution an ideal ground for further development.

What we learned

The need for a clean architecture and data validation in an AI-driven application was important. A small bug in the backend may ruin the entire flow. A useful product requires the balance of functionality and simplicity, which is important in tightly-integrated frontend/backend solutions.

What's next for AlgoVerse

Further improvements include real-time collaborative coding sessions, performance analysis, as well as AI-driven assessment of the solution. Other ideas include implementing multiple languages support, gamification, and scalability enhancements.

Built With

  • fastapi
  • nextjs
Share this project:

Updates