‹ All projects

Case study · Demo project

Pebble

A phone-first learning app for Python, C, C++ and maths, split into short lessons. The goal was to make practising feel like a small daily habit.

Built by
Georgii
Built with
React, Vite, Pyodide
Screens
Courses, lessons, tutor, league, profile
Checked
By hand in the browser

The brief

Learning to code often stalls after the first few days. The app had to keep lessons short, show progress clearly, and give learners a reason to come back.

What we built

  • Courses split into short lessons, with a placement test to start at the right level
  • Streaks, XP, badges, a league and certificates
  • Python exercises that really run, in the browser
  • A tutor that gives hints instead of answers. In this demo its replies are simulated

Decisions worth explaining

Run code in a Web Worker

Learner Python runs with Pyodide in a separate worker, so a program that never ends can’t freeze the app.

Hints, not answers

A tutor that hands over the solution teaches nothing, so it’s designed to nudge the learner toward working it out.

Rules in one place

Streaks, XP, placement and badges live in one store, apart from the screens, so the rules can change without touching the interface.

What it doesn’t do

Progress stays in your browser, with no accounts. The tutor is simulated, the league is a demo, and there are no automated tests. A real version would start with accounts and tests around those progress rules.

Next project: Rotabee ›