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.