Inspiration
I was inspired by a TikTok "trend" where users solve buggy code snippets. In my personal experience, I find that explaining to others how to do something improves understanding, and I aim to emulate this with LLMs and programming. I wanted to create an educational tool that brings this concept to life, making debugging fun and engaging.
What it does
Bad Programmer uses Snowflake Arctic via Replicate to generate code that contains subtle bugs. These buggy code snippets are then presented to users through a Streamlit dashboard. The user’s task is to identify and fix the bugs, enhancing their coding skills with each challenge.
How I built it
I built Bad Programmer using the example from Streamlit Arctic. The application integrates Snowflake's LLM to generate the faulty code, while Streamlit provides the interactive user interface.
Challenges I ran into
The largest challenge I encountered was prompt engineering the model to generate code with subtle, fixable bugs consistently. Ensuring the generated bugs were educational and varied enough to offer a meaningful learning experience posed a significant challenge.
Accomplishments that I'm proud of
I'm proud of the successful development cycle that started with basic features and expanded to a fully functioning prototype. This includes the seamless integration of Snowflake Arctic and Streamlit, tools I hadn't used extensively before.
What I learned
Through this project, I learned that gamifying AI and programming has a lot of fun and potential and that effective prompt engineering is crucial for generating useful and educational buggy code.
What's next for Bad Programmer
- Expanding the variety and complexity of coding challenges.
- Incorporating user feedback to improve the learning experience.
- Although it may initially seem gimmicky, Bad Programmer can potentially be a valuable resource in programming education.
Built With
- python
- snowflake-arctic
- streamlit

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