Inspiration

Students often receive only a simple "Wrong Answer" when their code fails. This tells them that something is wrong, but not what kind of mistake they made or how they can improve.

We wanted to build something that treats coding mistakes as learning opportunities. This led to ERROR DNA — a platform that analyzes coding failures, identifies error patterns, and turns them into actionable feedback for students.

What it does

ERROR DNA lets students solve C++ programming problems and submit their solutions against multiple test cases.

When a submission fails, ERROR DNA analyzes the execution evidence and produces an Error DNA diagnosis, including an error category or fingerprint, explanation, signals, confidence, and recommendation.

The platform also maintains submission history and aggregates recurring error patterns on a learning dashboard.

The core idea is simple:

Traditional coding platforms judge the answer. ERROR DNA understands the mistake.

How we built it

We built ERROR DNA using Next.js, React, TypeScript, Tailwind CSS, and C++.

The platform follows a simple pipeline:

Student writes code → code execution → test-case evaluation → execution results → AI analysis → Error DNA diagnosis → feedback → submission history.

The C++ execution layer compiles and runs student submissions against multiple test cases. The analysis layer uses the execution evidence and submission information to identify meaningful error patterns and generate explanations and recommendations.

The dashboard uses the recorded submission history to display recurring error patterns and learning trends.

Challenges we ran into

One of our biggest challenges was designing a reliable connection between code execution and meaningful error analysis.

A failed submission can have different causes, so simply checking whether the output is correct is not enough. We had to make sure the execution results, test cases, compiler/runtime information, and analysis workflow worked together correctly.

We also had to handle different input formats consistently across problems and ensure that the test cases matched the expected C++ input format.

Finally, we focused on keeping the interface simple enough for students while still presenting useful diagnostic information.

Accomplishments that we're proud of

We are proud of building a working end-to-end coding learning platform rather than just an AI chatbot.

ERROR DNA can:

  • Execute C++ submissions against multiple test cases
  • Detect different submission outcomes
  • Analyze failed submissions
  • Generate Error DNA error patterns and feedback
  • Provide explanations and recommendations
  • Record submission history
  • Display recurring error patterns and learning trends

We also validated the core functionality through repeated test-case execution, lint checks, and successful production builds.

Most importantly, we turned the idea of "learning from mistakes" into an actual working workflow.

What we learned

We learned that building an AI-powered educational tool is not only about integrating AI. The surrounding system must provide reliable evidence for the AI to analyze.

We learned how code execution, test-case evaluation, error analysis, frontend design, and learning history need to work together as one experience.

We also learned the importance of designing feedback for the learner rather than simply reporting a technical result.

What's next for ERROR DNA

We want to make ERROR DNA more personalized over time.

Future improvements include:

  • Personalized problem recommendations
  • Adaptive difficulty based on recurring mistakes
  • Deeper code-level explanations
  • Long-term learner profiles
  • More programming languages
  • Cloud-based submission history
  • More advanced error-pattern tracking

Our long-term vision is to create a coding practice system where every mistake contributes to a better understanding of how a student learns and solves problems.

Built With

Share this project:

Updates

Submission history