Skip to main content
Auto-memory
Retell + Twilio
MCP ecosystem
Founder Pres.
Obsidian + QMD
Review pass
Claude / Codex
Convex
75K+ sold
SwiftUI CloudKit
Next.js + Vercel
1,350+ locations
Shopify
Session notes
Founder
MCP forks
<60s response
Operator chapters
Founder & CEO
121+ skills
Six figures raised
Founder office
back to grid
Projects2026

RangeDeck

A local-first iPhone golf driving range conductor that deals a structured four-phase practice session across warm-up, targets, simulation, and pressure. An offline V1 working build, it runs real-time shot challenges with zero network dependency.

4 phases
warm-up to pressure
12 drills
practice catalog
100% offline
zero backend or account
500+ tests
unit and reducer suites
§01The workThe product

A local-first iPhone practice conductor that replaces aimless bucket beating with structured practice phases.

The product

Structure every bucket into a four-phase practice session.

RangeDeck structures every driving range bucket into a purposeful session. The on-device engine deals shot challenges matched to your bag, ball count, and time, moving from warm-up swings to pressure targets.

  • Practice phasesWarm-up, calibration, simulation, and pressure in sequence
  • Target calibrationCarry yardages and target windows locked to your bag
  • Ball trackingLive shot counts and pace checkpoints throughout the bucket
Deterministic session engine4-phase deckWarm-up to pressure simulation without network calls
01Warm-up
02Calibrate
03Simulate
04Pressure
SwiftUISessionEngineLocal storageXcodeGen
The productRangeDeck structures every driving range bucket into a purposeful session. The on-device engine deals shot challenges matched to your bag, ball count, and time, moving from warm-up swings to pressure targets.
§02The pipelineEnd-to-end flow
01

Warm-up

Loosen up with short irons and wedges to find your rhythm and clean contact.

tempo · contact · short clubs
02

Calibrate

Dial in carry distances and baseline dispersion against specific range flags.

target flags · carry windows
03

Simulate

Switch clubs on every swing to simulate real tee-to-green on-course scenarios.

course routine · club changes
04

Pressure

Finish with scoring targets where every shot counts under fatigue.

pass/fail criteria · final reps
§03What I builtPieces that compound

The deterministic card generator, event reducer, and local persistence.

Deterministic session deck

Given your ball count, time, and clubs, RangeDeck generates a structured practice plan with budget-matched drill swaps.

12 drills · 4 phases

Event-based session reducer

Shot scores, skips, and undos append to a local event log that projects live cards and recaps immediately.

local state projection

Zero accounts or cloud dependency

Runs completely offline on your iPhone with no accounts, subscriptions, radar units, or network calls required.

100% on device
§04Build rulesLocal-first · deterministic · disciplined

Pure offline execution and zero required permissions.

Selected rulesiPhone portrait offline V1
  1. Work completely without an account, backend, or network connection.
  2. Structure sessions deterministically across warm-up, calibration, simulation, and pressure.
  3. Store session state as append-only events over an immutable plan snapshot.
  4. Keep practice fast and focused without gadget distractions.
§05StackEvery tool earns its line
SwiftUI / InterfaceSessionEngine / Plan + event reducerLocal storage / Atomic file persistenceXcodeGen / Project speciOS 18+ / Target
§06ArtifactsReceipts and public proof

The native app, session engine, and test harness.

RangeDeck for iPhone

Native SwiftUI practice conductor with bag setup, live drill cards, and session recaps.

native iOS app
Deck generator

Allocates drills across four phases based on your ball count, available time, and clubs.

12-drill catalog
Session engine

Event-driven session reducer supporting immediate undo, skips, and local persistence.

500+ tests green