Inspiration

I wanted a learning tool that actually fits school, not just another chatbot that explains Python. In class, students move at very different speeds, and teachers rarely get a useful picture of where everyone is stuck. Pure LLM tutoring felt too loose for that: helpful in the moment, but weak on structure and classroom oversight.

What it does

PyJourney gives students a concept-based learning path with guided, adaptive lessons, in-browser Python practice, optional AI help, and personal progress reports. The content of several steps in lessons adapts based on the student's level, which is measured through their right/wrong answers. While coding, every 15 seconds, PyJourney takes a snapshot of the code and analyzes these parts of progress to give tailored feedback in the insights section. Teachers can run classes, follow student progress, generate class-level insights, and point the group at a shared next focus.

How I built it

It’s a Next.js app with auth, a lesson engine, browser Python via Monaco and Pyodide, and OpenAI through the Vercel AI SDK. The important part is the split between policy and generation: the system first decides what kind of step comes next, then the model fills that step within curriculum limits and validated schemas. While coding, I got supported by the Cursor IDE to ensure a kind of speed and finish the product in time.

Challenges we ran into

Keeping adaptation personal without losing control was the main challenge. Free-form AI answers were easy, but reliable lesson flow, good checks, and teacher views that stay useful without exposing too much raw student work took much longer.

Accomplishments that we're proud of

I’m proud that it became a full student and teacher product, not just a chat wrapper. The adaptive lesson flow, in-browser Python with snapshot analysis, personal reports, and classroom insights all sit in one system. Getting AI to work inside a curriculum instead of beside it was the part that mattered most to me.

What we learned

For education products, constraints matter as much as model quality. If AI has a clear role inside a curriculum and the rest of the product supports both learners and teachers, the result feels a lot more trustworthy than chat alone.

What's next for PyJourney

Besides a few adaptations and improvements of this program, I want to test this in the real world. I want to talk to my Computer Science teacher and possibly ship this project in a real-world school context.

Built With

  • drizzleorm
  • monacoeditor
  • neon
  • neonauth
  • next.js
  • openai
  • pyodide
  • radixui
  • react
  • tailwindcss
  • typescript
  • vercel
  • zod
Share this project:

Updates

Submission history