Inspiration
With AI and coding revolutionizing the world today, our team was inspired to develop a web application combining Duolingo, LeetCode and ChatGPT elements to allow new developers to gather the best resources to start their Python journey. Duolingo revolutionized educational apps by providing a gamified user experience, making a difficult task fun to learn. Taking key principles from Duolingo, we prioritized developing a reward system with custom achievements, motivating the user to continue down this path. To ensure users gained something from this app, we implemented a Leet code-like structure, encouraging users to learn by doing, instead of by reading. Finally, to allow users to have a smooth transition into the role of a Python developer, we provided users with a specialized LLM assistant, offering hints to users when they hit a roadblock.
What it does
With customized questions, built-in test cases, and a trusty AI assistant, get ready to learn Python faster than ever before! Once the user accesses the app, they will be greeted with the opportunity to start their coding journey, with a variety of different levels ranging from fundamentals to DSA. Upon selecting the desired difficulty, users will be prompted on a separate page with a unique question by a ‘PyGuide’, teachers who support the users throughout their PyGuide.ai journey. With the help of the LLM assistant, they will be guided through the problems, and have the opportunity to win special rewards such as new ‘PyGuides’ based on unique achievements.
How we built it
The web app structure used a premade framework to initialize all the pages. The frontend was initially prototyped using Figma then developed using JavaScript. The IDE was sourced from Judge0. Implemented the 3.5 ChatGPT model through the OpenAI API. Built questions and tests from Python code, implemented into JSON files.
Challenges we ran into
OpenAI API Key Integration: To protect the secret of the API key from online web scrapers, we were forced to put the key into a .env file, which would be ignored by git. However, we ran into problems, with accessing the API key from the file User profiling: We struggled with implementing users due to a lack of back end hosting service. We attempted to use Firebase, but ran out of time.
Accomplishments that we're proud of
Improved JavaScript competency through converting Figma to code. Improved git knowledge through direct contributions on the github page and by collaborating through various branches. Implemented OpenAI API within the app to provide hints towards the user. Discovered Judge0 API to implement an IDE within the project that can compile and run python code. Created a function test system that sends python code to be compiled, checking if the user passed all the cases.
What we learned
Using git commands to work on a GitHub project. Implementing API keys within a project. Learned and developed knowledge on TypeScript, JS, CSS, HTML, and react-native.
What's next for PyGuide.ai
Adding more lessons and questions to test further Python knowledge, eventually completing the full journey Expand IDE for more languages, to allow users to learn their preferred language. Implement a strong user database in the backend using a proper SQL database.
Built With
- css
- html
- javascript
- judge0
- openai
- react
- typescript
Log in or sign up for Devpost to join the conversation.