-
2ndTry
-
First: You input the code that you want to Google Gemini to fix
-
Not too fast! You have to show that you've learned from your mistakes. Complete the lesson and the exercises first.
-
-
-
Boom! After showing your new understanding, it gives you your well deserved and fixed code.
-
It tailors practice problems for each individual user based on common errors they commit.
-
These lessons allow the user to learn the basics with unlimited practice problems.
Inspiration
A lot of people try coding for the first time, hit an error, and immediately ask ChatGPT for a fix. They may get working code, but miss the chance to understand what went wrong. We wanted to make that moment less frustrating and give beginners a second try, with support that helps them learn, not just copy and paste an answer.
We chose Python because its readable syntax makes it a welcoming language for people learning to code. The HackRU frog mascot inspired the friendly green look and feel.
What it does
2ndTry is a browser-based Python playground. Learners can write code, run it, and see output without setting up a local Python installation. If they get stuck, optional AI help can suggest a fix and explain the reasoning. If and when AI fixes your code, you'll be quizzed on that concept that needs work before the fix even happens so that there is a comprehension on what is being fixed.
The app also includes guided lessons on common beginner concepts, such as accumulators, early returns, and off-by-one errors. Learners predict what code will do, work through repairs with hints, and check their solutions with tests.
How we built it
We built the app with Next.js, React, and TypeScript, Google Gemini, and Tiger Data. The editor uses Monaco, and Pyodide runs Python directly in the browser. Optional AI-powered code help runs through a server-side API, keeping provider credentials off the client. We also built guided exercises with hints and tests, plus optional practice history backed by PostgreSQL.
Challenges we ran into
One of the main challenges we ran into was efficiently usin g TigerData in order to store user information and call it upon requests to populate certain fields.
Also a another challenge was that we wanted Python practice to work even when optional services, such as AI help or saved practice history, were unavailable. That meant clearly separating the core browser-based coding experience from those services and making unavailable features understandable rather than letting them make the whole app feel broken.
Another challenge was designing AI help to support learning. We wanted it to explain a possible fix and encourage learners to review and test it, rather than simply encourage copying code without understanding it.
Accomplishments that we're proud of
We’re proud to have built an approachable place where beginners can write and run Python right in the browser. The guided lessons, hints, and tests turn common mistakes into opportunities to practice, while AI help remains optional. We’re also proud that the core Python playground can keep working even if other services are down.
What we learned
We learned that beginner-friendly tools need more than simple syntax: they need a clear first step, fast feedback, and explanations that help learners understand why something works. We also learned how to bring together a browser-based programming environment, guided practice, and optional server-side services in one app.
What's next for 2ndTry
We’d like to add more beginner-focused Python lessons, improve the feedback learners receive as they debug, and make it easier to see their progress over time. Our goal is to keep helping people build confidence by understanding their mistakes and trying again themselves.
Built With
- ai
- beginner
- edtech
- education
- lesson
- python