Inspiration
Students often struggle to organize past exam questions and receive meaningful guidance while solving them. Existing AI tools are powerful, but conversations quickly become cluttered and difficult to revisit. We built HintCode to combine question management, progressive AI hints, and answer checking into one organized learning platform. We also wanted learners to receive helpful hints while solving problems, rather than immediately seeing the answers. Although existing AI platforms are very useful, over time our conversations became difficult to manage, and it was hard to find the chat we were working on. So, we decided to combine these features into one application and make the learning process more organized and convenient.
What it does
Users can upload a PDF containing practice questions, the URL of an online problem, or just enter the problem. The application also includes a collection of built-in coding problems. When solving problems, users can select the hint level and enter the type of help they need. HintCode then provides progressive hints in multiple stages. The goal is not to provide the complete solution, but to help them discover it independently.
How we built it
We built HintCode as a web application using Python and JavaScript. We used the Streamlit library for the user interface and SQLAlchemy ORM for database management. The application sends the problem and answer to the OpenAI API with instructions to return structured hints and execution steps. The response is then displayed through an interface where users can move between progressively detailed hints and code-execution stages. We built HintCode with the help of Codex and GPT-5.6 throughout the development process. They assisted us in designing the system architecture, implementing backend features, debugging the application, and improving our prompts and learning workflow.
Challenges we ran into
One major challenge was preventing the AI from revealing the complete solution too early. We designed different hint levels so that each stage provides only the amount of information the learner requests.
Another challenge was representing code execution clearly. Arbitrary code can be difficult to analyze accurately, so the current prototype focuses on educational explanations and clearly labels AI-generated execution traces.
Accomplishments that we're proud of
- Designing an AI tutor that encourages independent problem solving
- Providing progressive hints instead of immediately generating answers
- Combining code explanations with step-by-step execution visualization
- Building a working prototype during the hackathon
What we learned
Through this project, We learned how to integrate the OpenAI API into an application, request structured responses, design prompts for controlled hint generation, and turn AI output into an interactive learning experience.
We also learned the importance of limiting the scope of a project and focusing on one clear user problem.
What's next for HintCode
Future improvements could include:
- More accurate execution tracing through sandboxed code execution
- BFS, DFS, and recursion visualizations
- Support for additional programming languages
- Personalized hints based on the learner's skill level
- A history page for reviewing previous problems
- Generation of similar problems for each problem using ai
Built With
- api
- css
- git
- html
- javascript
- openai
- python
Log in or sign up for Devpost to join the conversation.