βš”οΈ Duel 2 players 5 min Build: S #16 of 24

⚑ Math Sprint

Same round, different problem β€” a live handicap keeps a 9-year-old racing an adult, fair.

Math SprintRound 5 Β· 0:02
Riya's problem23 + 9 = ?
32
Dad's problem17 Γ— 6 = ?
1
4Riya
2Dad

Riya taps 32 while Dad's still carrying the one on 17Γ—6 β€” same round, calibrated problems.

The hook

Mental math races are usually a joke when the ages don't match β€” an adult will win every time against a kid on the same problem. Math Sprint fixes that by never giving them the same problem: both players see their own arithmetic question the instant the round starts, tuned to their own level, and the first correct answer wins the point regardless of whose problem looked harder. It's split-screen, it's fast, and the handicap adjusts live, so the gap never gets boring in either direction.

A sample round

Math SprintRound 5
Go!
Riya23 + 9
Dad17 Γ— 6
Solve fast

1 Β· Both problems appear at the same instant

Math Sprint0:02
32
Dad still carrying the one
Tap your answer

2 Β· Riya taps first, Dad's still calculating

Math SprintPoint!
5Riya
2Dad
πŸ”₯ Streak bumps difficulty
Next round

3 Β· Payoff: point banked, Riya's next problem gets harder

AppRiya's screen: 23 + 9. Dad's screen: 17 Γ— 6.
Riya (9)(taps "32" almost instantly)
Dad17 times 6 is… 100, no… 102!
Appβœ… Riya's point. Round 5: Riya 4 – Dad 2.
Riya's streak bumps her next problem up a notch β€” two-digit addition becomes subtraction with borrowing.
DadWait, the questions changed?
Kabir (13)That's the handicap, Dad. It's always finding your ceiling.

How a round plays

Why it's sticky

The fair-fight loop here is live, not fixed: the app is constantly re-measuring each player mid-match and nudging their problems harder or easier, so the score stays close without either player noticing the dial being turned. Rounds resolve in a couple of seconds, which makes losing painless and "one more" irresistible β€” and there's real pride on both sides, a kid genuinely racing an adult and an adult genuinely having to hustle.

Modes

Build notes

Size: S. The shared shell provides the split-screen duel frame, the adaptive-handicap engine (per-round difficulty adjustment via streak tracking), timers, and the scorebar. Game-specific work is small: an arithmetic problem generator by operation and tier, and correct-answer validation for tap-to-answer and type-to-answer variants. The problem generator and scoring logic live in a plain JS module separate from rendering, so a future async relay mode (asynchronous turns over a shared link) can reuse the same core without a rewrite.