Inspiration
Our platform stands at the intersection of structured education and hands-on practice. Drawing inspiration from Khan Academy’s intuitive, step-by-step pedagogy and LeetCode’s rigorous, interactive coding challenges, we have built a unique ecosystem designed specifically for mastering coding difficulties and gaining mastery.
What it does
We have built a comprehensive environment for coding mastery. Our platform seamlessly connects structured theory in the Classroom with hands-on application in our Practice Area. To keep learners engaged, we’ve gamified the journey by allowing students to earn digital assets to trade and showcase in our Marketplace. Powering this entire experience is our deep AI integration, which acts as an on-demand tutor, real-time code linter, and dynamic content generator.
How we built it
Our platform is built on Google Antigravity to deliver a distinct user experience. To ensure high availability and seamless scalability, we utilize a modern hybrid deployment strategy, leveraging the power of Render alongside Google Cloud Platform (GCP).
Challenges we ran into
Challenge 1 One of our biggest hurdles was architecting a secure user system. While we were considering SQL backend, we wanted to ensure maximum security for user data. We integrated Firebase SDK, which focused our authentication process (including Google OAuth) and provided a flexible NoSQL database to store our library of lessons, solving our storage issues.
Challenge 2
Furthermore, we struggled with having consistent deployment. Testing on localhost was unreliable, as local environments rarely matched our production setup on GCP. To solve this, we introduced Render as a staging ground. This allowed us to deploy and verify the development branch in a live server environment, ensuring seamless updates to our main application.
Accomplishments that we're proud of
We were able to make a super scalable deploy in google cloud. We used dns standards on our custom domain to route the users request to load balancer, which has a backend service that connects to our cloud run. This way, our project is super scalable because as the amount of users increases, the load balancer will take care of it, and if we wanted to expand to more regions, we can just add more backends to the load balancer.
We were also able to make a concept to code feature. It uses React Flow to make drag and drop nodes that can be connected and converted into code using ai. The flowchart is processed into text before being fed into the ai model, which then outputs executable python code that is put into the editor. This way, beginners can code very easily.
What we learned
We learnt how to integrate many services like gemini, firebase and more. We also learnt how to deploy applications to the web and how requests are managed.
What's next for Code2Coder
We are hoping to integrate a leaderboard system to increase user retention and fun factor. Also, to improve robustness, we were planning to use a server side vm to execute python code instead of client side pyodide, because pyodide is less consistent and it has restrictions. For example, we cannot ever teach something like pygame, because pygame is not an included library in pyodide.
Log in or sign up for Devpost to join the conversation.