← 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.

Icon coming soon
In planning Swift 6 · SwiftUI · FoundationModels 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

Distributed-narrative cast

Meet the cast

RaceForge pulls a data race apart into the pieces that make it happen — the crew IS the concurrency concept. Sheara is the shared state (one variable two tasks both touch); Trice is the non-atomic step (`+= 1` is really three operations — read, add, write — that can be split apart); Baton is the interleaving (whose step runs next, handed back and forth). Mentor Isla is the actor — the isolation boundary that lets only one task touch the state at a time, so each operation becomes atomic and the race can no longer be written. 15–18, text-forward (R-OLDER-TEEN-DN-ADAPTED) — illustrated portraits/chapters/audio are N/A for the older-teen band, not a follow-on.

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

(Mentor) 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.

📚

Question kits

16 curriculum-aligned kits × 25 questions = 400 questions per app, mapped to recognized standards.

🤖

On-device AI mentor

FoundationModels-powered hints, feedback, and adaptive difficulty — all running locally.

Mentored by Isla — on-device AI, 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
  • ✅ No ads, no in-app purchases — you pay once
  • ✅ COPPA compliant under the 2026 FTC amendments
  • ✅ Parental controls + session limits + content filters built in

Full parent privacy guide →

Built with ForgeKit

RaceForge runs on ForgeKit — the open-source Swift Package Manager framework that powers every Spark & Anvil app. ForgeKit ensures consistent accessibility, COPPA compliance, and design language across the portfolio, so your kid's progress and preferences feel coherent across every app they touch.

Coming to the App Store

RaceForge is in active development. Email us to hear when it ships — no marketing, no spam, just a one-shot launch announcement.

Email me at launch

Kids also liked