A focus app that feels like a race weekend.
Pick a circuit. Sign for a team. Stamp your paddock pass, watch the five lights go out — and your distracting apps stay shielded until the chequered flag.
Grid reframes focus time as a race stint. You choose a circuit (which sets the session length) and a fictional team (whose livery themes your pass), commit by stamping a paddock pass, then work while your chosen apps are blocked via the Screen Time API. Progress is shown as laps around the real track outline, with a Live Activity in the Dynamic Island. Leave early and your pass is stamped DNF — allowed, but on the record in your Activity log.
- Onboarding. A short, personalised quiz builds a "race plan" — how many hours Grid can help you win back — then a cinematic team signing puts your real signature on your first pass.
- Pick your circuit. Twelve real-geometry circuits (plus a custom test track), each mapped to a focus duration from a 25-minute street sprint to a two-hour endurance run. A photoreal 3D flyover of the actual track plays behind the paddock.
- Stamp your pass. A personalised paddock pass — name, circuit, team, session number, barcode — is issued for every session. Press and hold to imprint it: that stamp is the commitment. Fully customisable in Pass Studio.
- Lights out. Five red lights, a random hold… and away you go. The shield activates the instant the lights go out.
- Stay locked in. Your apps are blocked for the whole session. Progress is measured in laps; a Live Activity tracks it on the lock screen and Dynamic Island, with Race Control flags if you drift away.
- Chequered flag. Finish and the pass is filed FINISHED; bail and it's a DNF. Every session feeds your stats and unlocks trophies.
- 12 real circuits built from actual GPS geometry, with photoreal MapKit flyovers.
- Team liveries that theme your pass, timing name, and car number.
- Pass Studio — a direct-manipulation editor for every element of the pass (colours, wording, fonts, finish), including a holographic finish.
- Advanced stats — a last-session focus score, a GitHub-style contribution heatmap of your days on Grid, breakaway analysis, and a trophy cabinet.
- The 3D Pro pass — a gyro-reactive, holographic membership card that flips to reveal trophy stamps earned across your sessions.
- Race Control — yellow/red flags on the Live Activity when you leave mid-session, derived purely from time so they're crash-safe.
| Free | Pro | |
|---|---|---|
| Circuits | 5 | All 12 + custom |
| Team liveries | 6 | + 5 premium |
| Focus loop, Activity log, stats | ✓ | ✓ |
| Pass Studio + holographic pass | — | ✓ |
| Race Control flags + Live Activity | — | ✓ |
| 3D Pro membership card + trophies | — | ✓ |
Pro is a StoreKit 2 auto-renewable subscription (yearly with a 7-day trial, or monthly).
- SwiftUI, iOS 17+, dark theme only, MVVM, no third-party dependencies.
- FamilyControls + ManagedSettings + DeviceActivity for app blocking, with
a
DeviceActivityMonitorextension as a backstop that lifts the shield even if the app is killed mid-session. - ActivityKit Live Activity (lock screen + Dynamic Island) with self-updating timers — no push updates needed.
- MapKit satellite flyovers driving along real circuit polylines.
- SwiftData for the Activity log; StoreKit 2 subscriptions for Pro.
- Session state machine survives termination via an App Group snapshot:
idle → passIssued → lightsSequence → racing → finished | dnf.
Open Grid.xcodeproj in Xcode 26+ and run the Grid scheme, or:
xcodebuild -project Grid.xcodeproj -scheme Grid \
-destination 'generic/platform=iOS Simulator' buildSimulation mode is on by default: the full session flow runs without applying a real Screen Time shield, so everything works while the FamilyControls distribution entitlement is pending. Toggle it in Settings once the entitlement is granted.
In-app purchases are wired against a local
Grid/Grid.storekitconfiguration (referenced by theGridscheme's Run options), so the full subscribe / restore flow is testable on-device with no App Store Connect setup. A DEBUG Pro access toggle in Settings → Developer flips entitlement state for exercising paywalls.
- Real paddock backdrop stills per circuit
- Proper open-wheel
.usdzcar model to replace the procedural one - Sound design: doppler whooshes, light-gantry beeps, stamp thunk
- Mandatory pit-stop breaks (pomodoro mode)
- On-Demand Resources for the paid circuit assets
Circuit outlines are derived from the f1-circuits GeoJSON dataset (MIT © Tomislav Bacinger), simplified and normalised at build time.
Grid is a fan-flavoured theme, not an F1 product. It uses no F1 / Formula 1 logos, team or driver names, or official circuit branding — circuit names are invented-but-evocative and fully data-driven.





