Project · Live

MOSAIC

A physical-education record system for teachers and students aged 12 to 14. It records what a student can actually do and what to teach next — and deliberately refuses to produce a rank, a leaderboard, or a single fitness score.

View the live platform →
The MOSAIC homepage, explaining how it records student movement skills and what it never produces.
7
movement domains
36
lessons a year
12–14
student age range
0
phones needed in class
Design decisions

Most of this product is defined by what it refuses to do.

Measuring children is easy to get wrong. A number that ranks a twelve-year-old against their class is worse than no number at all, so the hard part was deciding what never to build.

Fitness apps rank children against each other

No class rank, no leaderboard, no overall fitness score. The record is per-skill and private to the student.

Phones in a PE lesson are a distraction and a privacy problem

The lesson runs on printed session cards. Results are entered afterwards, so no child needs a device.

A score tells a teacher nothing about what to do next

Each record resolves to a specific next task, so the teacher knows what to teach on Monday.

Student data crossing borders is a legal risk for schools

Each school holds its own data under its own country’s rules.

Stack

What it runs on.

RuntimeCloudflare Workers, running at the edge
DatabaseCloudflare D1 — SQLite at the edge
FrontendServer-rendered HTML, minimal client JavaScript
MobileAndroid app sharing the same backend
Limitations

What it still can't do.

  • Authentication is not finished. The sign-in flow exists in the interface but is not yet enforced end to end, so the platform is not ready for real student data.
  • The Android app is behind the web version and does not yet cover every screen.