Designed for the worst case: bright sun, gloved hands, two seconds.
Every Center Ref decision is shaped by one constraint: a youth ref, mid-match, glancing at their wrist for less than a second. Here's what that produces.
The watch is the source of truth on the field.
The clock, the score, the event log — all live on the watch during the match. The phone is for setup before and review after. No live mid-match sync, because the field doesn't have reliable Wi-Fi and your pocket isn't a UI surface.
- Date-based clock that doesn't drift if the watch backgrounds.
- Score columns are the tap target — no separate "+" button.
- Tabular numerals scale by watch size for legibility at arm's length.
- 40–46pt tap targets on primary controls, sized for gloved hands.
Period transitions you can feel.
Every period boundary fires a distinct WatchKit haptic pattern. The patterns are intentionally different counts of intentionally different intensities, so you learn them by feel — like learning whistle blasts.
- Score logged: 1× start (one quick tap).
- Quarter break: 2× start (two short taps, 0.3s spacing).
- Half time: 3× stop (three sharp taps).
- Final whistle: 4× stop (four sharp taps).
- Stoppage started: 1× stop (one strong tap).
- Added time expired: 2× notification (advisory).
Added time that arms itself.
Tap once to track stoppage during regulation. The watch accumulates seconds in a yellow chip. When the period clock crosses regulation, if you accumulated stoppage, the watch auto-arms a countdown using exactly that number — no manual "OK go" step. Past zero, the chip keeps counting as advisory while you make the final-whistle call.
- Computed against elapsed time so it pauses when the match pauses.
- Two-tap dismiss to disarm if you want to handle it manually.
- Disarms automatically on period advance.
- Overrun is advisory — the ref still owns the final whistle.
Already on your watch face.
Four accessory families: corner, circular, rectangular, inline. The complication carries the stored clock state, not a recomputed value, so SwiftUI ticks the seconds for free — no widget refresh budget pressure, no drift. Always-On luminance reduction is handled.
- Smart Stack relevance: 100 running, 90 paused, hidden otherwise.
- Tap any complication to jump back into the live match.
- Score numerals are widget-accentable for AOD legibility.
- Black container background so AOD reads as "watch face."
U6 through U19, by the book.
Pick a division and the watch knows: period count, period length, field size, offside rule, no-heading flag, mid-half quarter break for U10/U12. Club Rec presets included; Custom available for high-school and adult.
- AYSO U6–U19 with min-play tracking (50% rule).
- Club Rec U6–U19 (no min-play, sub windows on any stoppage).
- Custom division: pick any periods × duration × field size.
- Family + division pair disambiguates AYSO U10 from Club Rec U10.
Setup before. Review after.
iPhone is calmer real estate — bigger screen, more time. Pre-match: pick division, name teams, configure period overrides, push to watch. Post-match: full event timeline, score summary, playing-time compliance for AYSO matches.
- WatchConnectivity sync (transferUserInfo, queued + persisted).
- No CloudKit, no account, no network calls during a match.
- Match history view with detail timeline.
- AYSO playing-time compliance section in match detail.
No watch? iPhone runs the match.
Don't have an Apple Watch yet — or hand it to your AR for the half? Center Ref ships an iPhone-only mode with the same clock, period structure, stoppage, and haptics. Pin it to the corner flag, slip it in your pocket, or hand it to a parent on the touchline.
- Full match clock with 1st / 2nd half, halftime, and stoppage tracking.
- Same AYSO division presets and rule mapping as the watch.
- HOME / AWAY scoreboard with one-tap goals.
- Add an Apple Watch later — matches sync over WatchConnectivity.