aeroslip.
A free stockcar drafting racer for iOS where the slipstream is the entire game, with a career whose press conferences are written on-device by Apple's own model.
CREATED AUG 14, 2026 · UPDATED AUG 17, 2026
PROBLEM
The one game that proved this loop works — a five-minute oval race where the draft is the whole skill — buries it under ad density, Unity-export crashes, and a career mode with no agency: scripted sponsors, no reset, no visible standings. Every complaint on both app stores is about the wrapper, not the game.
HYPOTHESIS
The wrapper is the product. A native build with zero third-party dependencies, no monetisation of any kind, and real career agency beats the incumbent on exactly the axes its own reviews name — without having to out-design it.
ARCHITECTURE
Fixed 120 Hz simulation in track-space (distance along the centreline, lateral offset, speed), interpolated to world transforms once per rendered frame. Tracks are directed closed splines sampled into nodes carrying banking and width, so road courses ship later as data rather than as a rewrite. The draft is not a scripted boost: effective drag is scaled by a factor summed over every car ahead, weighted by longitudinal gap and lateral alignment, and runs and slingshots emerge from that. RealityKit ECS systems — aero, driver AI, damage, race director, camera rig — iterate car entities per frame. Narrative is a protocol with two implementations, on-device FoundationModels and templates, selected at runtime by model availability; the sim owns every number and no generated text is ever parsed back into state.
STACK
RESULT
Scaffold and aero core in progress. Six milestones, each gated by its own audit before the next begins.
MEASURED
| metric | value | baseline |
|---|---|---|
| third-party dependencies | 0 · no SPM packages, no ad SDK, no StoreKit | — |
| target frame rate | 60 fps | 40-car field on A17 Pro |
| draft factor ceiling | 0.55 · summed over cars ahead, capped so the pack cannot break away | — |
| race length | 4–7 min · lap counts tuned to fit one sitting | — |
LEARNINGS
- Writing the competitor's one-star reviews into the spec as named requirements turns 'be better' into a checklist.
- Deciding up front that the LLM renders and the simulation owns state removes a whole category of bug before any code exists.
PROVENANCE
Built by Claude Code against a single master prompt kept verbatim in SPEC.md, under a scout → plan → build → audit loop with a written audit per milestone.