← All apps

STEM

RaceForge

Two tasks. One shared counter. What could go wrong? Predict the smallest value a data race can produce, watch the exact interleaving that loses an update, then wrap it in an actor and see the race vanish. RaceForge enumerates every possible interleaving on your device — no guessing, no magic — so you can feel exactly what Swift 6 is protecting you from when it checks concurrency at compile time. Ages 15–18.

▶ Play it now

Built for sittings of about 25 minutes on the screen. That is our design budget, not a measurement.

Icon coming soon
Live Computer science / concurrency — explain a data race: two tasks sharing mutable state via a non-atomic read-modify-write can interleave so an update is lost; enumerate the reachable final values and identify the lost-update minimum Computational thinking / systems — reason about atomicity and isolation; explain how an actor (or a value type you don't share) removes the race, and why a compiler (Swift 6 strict concurrency) can catch this class of bug before the program runs Hero color: #4a6cd4
Engagement: Modes pending

Characters who teach

Meet the cast

RaceForge breaks a programming bug called a data race into its parts. Sheara is a value two tasks both change, Trice is a step that looks like one action but is really three (read, add, write), and Baton is the order the tasks happen to take turns in. Isla, the mentor, is the fix: a boundary that lets only one task touch the value at a time.

S

Sheara

Shared state — one variable both tasks can read and write; the moment it is shared AND mutable, a race is possible

T

Trice

The non-atomic step — ‘counter += 1’ is read-modify-write, three operations another task can land in the middle of

B

Baton

The interleaving — the exact order the two tasks' steps happen to run in; some orders are fine, some lose updates

I

Isla

The actor — an isolation boundary that serialises access so only one task touches the state at a time; each operation becomes atomic and the race cannot be expressed (the idea behind Swift 6 strict concurrency)

What's distributed-narrative methodology? →

What's inside

🎯

Learning goal

Two tasks. One shared counter. What could go wrong? Predict the smallest value a data race can produce, watch the exact interleaving that loses an update, then wrap it in an actor and see the race vanish. RaceForge enumerates every possible interleaving on your device — no guessing, no magic — so you can feel exactly what Swift 6 is protecting you from when it checks concurrency at compile time. Ages 15–18.

Mentored by Isla — no data leaves the device.

How RaceForge handles your kid's data

  • ✅ All progress, settings, and AI-generated content stays on the device
  • ✅ No analytics, no tracking, no third-party SDKs
  • ✅ Free — no ads, no in-app purchases
  • ✅ No personal information collected from children — in line with COPPA (updated by the 2026 FTC amendments)
  • ✅ No chat with strangers — play-together rooms use a short code and preset emotes, never typed messages

Full parent privacy guide →

Kids also liked