Run a Match from Your Smartwatch
If you referee or manage matches and your account is on PRO, you can run a whole game from your wrist — start the match, log goals, cards, fouls, substitutions and mistakes, review or fix past events, then end it with the final score saved automatically — without taking the phone out of your pocket. This guide is the step-by-step companion to the Smartwatch Companion overview, focused purely on the live-match flow.
There is no automated watch-tester in the QA toolchain — the platform tester agents drive the phone app, the web app and the backend, but none of them can drive a Wear OS or watchOS build. Every step below has to be checked by hand on a paired phone plus a real watch or watch emulator. Treat the flows here as manually verified, not auto-tested.
Before you start
The watch is a thin companion. It never talks to the 4league backend on its own — every tap on the wrist is relayed to the paired phone, which makes the real API call and sends the result back. Four things must be true before the full recording flow works:
- The phone is nearby and reachable — Bluetooth range, watch paired.
- The 4league phone app is running — open or backgrounded, but not force-quit. Even so, an action tapped while the link is down is never lost — see Offline Outbox below.
- You have match-editing rights — organizer, an assigned referee, or a Team Manager of one of the two teams.
- Your phone account is on PRO — see the callout below.
Starting, pausing, ending, or logging any event from the watch is gated on the signed-in phone account having an active PRO plan. Without it, the watch still shows the match list, live clock, score and event list — just read-only, with a lock notice on the live screen. There is no way to upgrade from the watch itself; open the phone app and see Payments & Packages or Subscribe to PRO & Cancel.
How a tap reaches the backend
Knowing the round-trip explains every "why isn't it working" case below. A single action — say, adding a goal — travels like this:
Add goal — the round trip ├── Watch — you tap a side / pick a scorer, the action is queued locally first ├── Watch → Phone — ACTION_REQUEST (JSON on path /fourleague) ├── Phone → Backend — the real authenticated API call (refused server-side if the account isn't PRO) ├── Backend → Phone — result └── Phone → Watch — ACTION_RESPONSE, the queued action is retired and the wrist UI updates
So if the watch seems to "hang" after an action, the break is almost always between the watch and the phone (out of range, app force-quit) or the phone and the backend (no connectivity) — not on the watch itself, and not on your data: a queued action just waits its turn in the outbox (see below) rather than being lost.
Step 1 — Open the match list
Open the 4league phone app and sign in
The watch has no separate login — it asks the paired phone for whatever it needs, when it needs it.
Raise your wrist and open the 4league watch app
The waiting screen resolves once the phone answers. The watch then shows the match list — only the matches you can edit.
Tap the match you want to run
This opens the live-match screen with the score, running clock and team crests. If your account isn't PRO, the same screen appears but every recording control is replaced with a lock notice.
The watch is built for the touchline, not for browsing — the list only carries matches that are kicking off within roughly the next hour or already in progress (plus, briefly, matches that just finished so their result still shows). If your next game is later today, the watch shows an empty list on purpose. Open the match closer to kick-off and it will appear. (An empty list can also mean you have no editing rights on any near-term match, or the phone couldn't be reached.)
Step 2 — Run the match
From the live-match screen the full action set is available on both platforms when your account is PRO:
| Action | How to do it on the wrist | What it does |
|---|---|---|
| Start match | Tap Start on the live-match screen for a not-yet-started game. | The phone starts the clock server-side. |
| Add goal | Tap the score to open Goal Entry, pick scorer (and assist). | Goal logged, score updates, assist recorded against the same event. |
| Add card / foul / substitution | Wear OS: swipe to the Actions page. watchOS: open the Action menu. Pick Card / Foul / Substitution. | Event logged against the running clock. |
| Log a mistake | Swipe to (Wear OS) or open (watchOS) the Mistakes page. Tap a player row to charge them, or tap the team header to charge the whole team or pick a player. | Adds one to that player's or that team's mistake tally. See Mistakes Counter below. |
| Review / edit / delete an event | Open the Events list from the Actions page (Wear OS) or Action menu (watchOS). | See Reviewing, Editing & Deleting Events below. |
| End match | Tap End on the live-match screen. | The phone finalizes the match — the backend derives the final score, per-player goals/cards and assists from the recorded events, same as ending from the phone. |
The gestures to remember: tap the score for a goal, use the Actions page/menu for everything else. Each action is queued the instant you tap it and updates the wrist UI the moment the phone confirms it — a brief spinner or "pending" indicator right after a tap is normal.
Mistakes Counter
Mistakes get their own page, separate from goals/cards/fouls — Wear OS reaches it by swiping twice left from the score page; watchOS reaches it from the Action menu.
Two columns, one per team
Home on the left, away on the right. Each team's header shows that team's running mistake total.
Charge a player
Tap that player's row in the lineup below the team header — it adds one mistake to them specifically.
Charge the whole team, or reset
Tap the team header itself to charge the team as a whole instead of one player, or to pick a player from the lineup. Each side has its own Reset button — behind a confirmation step — that clears only that team's mistakes for this match, disabled while that side is already at zero.
Reset removes that team's mistake records on the phone and the backend, not just the number on the watch face. Mistakes have no dedicated edit screen — if you tapped the wrong player, delete that one entry from the event list and re-add it, rather than resetting the whole side.
Offline Outbox
Every action you take is saved on the watch first and only cleared once the phone confirms it landed — this is true even when the link is perfectly healthy, not only during an actual dropout.
- Tap a goal while you've stepped out of Bluetooth range — it's stamped with the watch's own clock and, once you're back in range, lands at the correct match minute.
- The live screen shows a pending count whenever one or more actions are still waiting to be confirmed.
- A queued event still appears in your event list right away, at its correct minute, flagged as not yet confirmed until the phone catches up.
Reviewing, Editing & Deleting Events
Open the Events list (from the Actions page on Wear OS, from the Action menu on watchOS) to see every event logged so far, newest first.
- Tap an event to edit it — the matching entry screen re-opens pre-filled with its values; saving updates that same event instead of creating a duplicate.
- Delete an event to remove it entirely. Deleting a goal also removes its paired assist automatically.
Wear OS screen flow
Wear OS — live match ├── WaitingScreen — pre-session ├── MatchListScreen — near-term / in-progress matches you can edit │ └── LiveMatchScreen — 3-page swipeable pager (PRO only past the score page) │ ├── Page 1: Score / clock — tap score → Goal Entry │ ├── Page 2: Actions — Card / Foul / Substitution / Events │ └── Page 3: Mistakes — per-team counters + Reset └── RankingsScreen — standings widget (all users, Wear OS only)
Wear OS vs. Apple Watch
Both companion apps exist — Wear OS (Kotlin / Jetpack Compose, under watches/wearos/) and watchOS (Swift / SwiftUI, under watches/watchos/) — and both share the same PRO gate and the same "paired phone is the source of truth" model. The live-match recording set is fully wired on both platforms today; the differences left are about layout, not capability.
| Step in this guide | Wear OS | watchOS (Apple Watch) |
|---|---|---|
| Open match list | ✓ | ✓ |
| Open a match (live screen) | ✓ | ✓ |
| Start / End match with derived final score | ✓ | ✓ |
| Goal / card / foul / substitution | ✓ | ✓ |
| Mistakes counter | ✓ — swipe to the 3rd pager page | ✓ — Action menu → Mistakes |
| Event review / edit / delete | ✓ | ✓ — Action menu → Events |
| Offline outbox | ✓ | ✓ |
The one real layout difference: Wear OS's live screen is a horizontal swipeable pager (score → Actions → Mistakes); watchOS reaches the exact same three areas through the Action menu's list instead of a swipe. Functionally they're the same flow. The feature-parity table on the overview page tracks the (small) remaining gaps, all outside the live-match flow itself (no rankings widget on watchOS).
The watch is a control surface for people who run matches, not a fan-facing live-scores ticker. There is no spectator screen that streams scores of matches you don't edit. The closest thing is the Wear OS Rankings widget — a glanceable standings position for your followed teams — and even that is Wear OS only. To follow a match as a spectator, use the phone app.
Troubleshooting
| Symptom | Most likely cause |
|---|---|
| Watch stuck on the waiting screen | Phone app not open / force-quit, or out of Bluetooth range. |
| Match list is empty | No editable match kicking off soon or in progress; or you lack editing rights; or the phone couldn't be reached. |
| Live screen shows a lock notice instead of controls | Expected on a non-PRO account — you can still see the score/clock/events, but recording requires PRO. Upgrade from the phone app. |
| A tap spins / shows "pending" for a while | Normal while offline — the action is queued in the outbox and will send once the phone reconnects. If it never clears, re-check phone connectivity. |
| Match ended from the watch shows no score | Should no longer happen — ending from the watch now derives and saves the final score the same way the phone does. If you still see this, it's a bug, not expected behavior. |
For pairing, the PRO gate, the mistakes counter, and the rankings widget, see the full Smartwatch Companion page. For running matches from the phone, see Match Management.