Follow these matches

New matches start ticked. Untick any you don't want to hear.

Match filter checkboxes

No matches loaded yet.

Matches

Press Start to load matches.

Diagnostics

Announcement log

No announcements yet.

To do

  • P1 (this week): email Hendon to thank him for the second mention on the season-finale pod. Brief, warm, not gushing. Acknowledge Sam's feedback as useful, mention the inspiration loop closing satisfying. Don't be clingy - one note then leave him alone.
  • P1 (this week): reach out to Sam if reachable. He met Hendon in person last October, so possibly known to Hendon - could ask the pod for an intro, or wait for Sam to get in touch via the contact form (he may already know it exists, having tried the tool). Sam has thoughtful, articulate, lived-experience opinions about the tool and the ecosystem. The user research interview you couldn't have arranged - if he's willing to talk, listen.
  • P1 (this week): reach out to Ricky Stone (Snooker Live developer). Ecosystem hello. Frame as cooperative, not competitive - different platforms, different use cases. Mention Sam's feedback recommending both tools alongside each other. Could lead to: insights on iOS accessibility specifics, awareness of overlap/divergence, possible cross-promotion. You've now used the app yourself (Thu 14 May) so can speak from experience.
  • P2: update the Info page to mention Snooker Live as a sister tool for iPhone users. Sam framed it well on the pod: "iPhone with VoiceOver → Snooker Live; computer / laptop or background-while-watching → Snookerannouncer." Generosity costs nothing and reciprocates Sam's framing. Wording something like: "If you're on iPhone and want lock-screen notifications and live activities, also check out Snooker Live by Ricky Stone."
  • P2: phone usability is broken in practice. Sam confirmed on the pod that the iPhone version works in theory but the screen-lock issue makes it impractical - you can't use the phone for anything else while it runs, and you'd need to disable screen lock. Two routes: (a) document the workaround clearly on the Info page (audio mode, Lock Mode, screen-lock-disabled), (b) build proper PWA with background audio so the page can run with the screen off. (b) is real work but solves a real problem - and Sam is exactly the user this would unlock. Worth investigating what's actually possible on iOS Safari for background audio (suspect it's quite restricted) before committing.
  • P2 (after women's WC): finish the t=12 refactor started in v1.2.1. We currently use the API for round NAMES only; framesToWinTarget and deciderPhrase (shootout detection) are still per-event hardcoded. The API gives us Distance (frames-to-win target) and Note (e.g. "in a twist, a black ball shoot out will replace any deciding frames") so both could be data-driven too. Payoff: adding new events becomes just adding an ID to RECOGNISED_EVENT_IDS. Estimated 4-6 hours done carefully. Best done after you return from holiday ~24 May, or after Q School.
  • P3: consider showing player status markers (a) / (af) / (f) next to player names, the way snooker.org's website does. (f) = current pro, (a) = amateur, (af) = somewhere in between (former pro, established amateur, etc). Most useful in Q School where most players are unknown amateurs and the marker tells you something about who's who. The API doesn't return these codes directly - they're derived from Type, FirstSeasonAsPro, LastSeasonAsPro and possibly more. Risky to reproduce snooker.org's logic precisely. If shown, expand to "pro" / "amateur" rather than the cryptic codes, and aria-hide for screen readers.
  • P3: qualifying weeks are arguably the tool's strongest moment - Sam explicitly called out "multi-table sessions and qualifiers" as where these tools shine. Sighted fans also benefit because TV doesn't cover qualifiers, just live scoring. Worth thinking about how the tool communicates this strength: a dedicated "qualifiers mode"? Better multi-match readouts? Marketing copy on the Info page? Future post-on-FB topic? No urgent action, but worth noting that the qualifiers calendar (next major one TBD) is a peak-relevance moment.
  • P3: wake-on-sleep cross-platform testing. Confirmed working on laptop. Still pending: iOS Safari (visibility events) and Android Chrome (pageshow.persisted). Tied to phone-usability work above - if PWA mode happens, retest wake.
  • P3: social post acknowledging Ricky's app and the parallel ecosystem. Sam framed it well on the pod; doing it publicly cements cooperative framing rather than competitive. Possibly a Snooker Hub FB post via Margie, or Reddit. Wait until after the women's WC final on Tue 19 May - timing-wise, mid-tournament is wrong for ecosystem posts.
  • P3 (watch): the 5-match cap on upcoming-match listing (v1.2.2) was chosen by judgement. Sessions with 4 matches still recite all four; 5 or more skip the list entirely. Q School will hit this regularly (7+ matches per session common). If the cap feels too eager (users want 5-match lists too) or too lax (4-match lists still feel long), adjust the threshold. Just listen during Q School and decide.
  • P3 (after women's WC): re-enable the Select all / Deselect all toggle. Currently hidden via data-temporarily-disabled="women-wc-2026" on #matchFilterActions in the HTML because the toggle was firing oddly during women's WC group-stage data turbulence. Remove that attribute (and the comment above it) to restore. The JS logic is intact.
  • P4: consider enabling HSTS in Cloudflare SSL/TLS settings. Closes one of the Security Insights warnings. Held off because it's effectively irreversible (browsers cache the policy for the configured max-age) and the marginal protection over "Always Use HTTPS" is narrow. If enabling: start with max-age 1 month, do NOT tick preload, do NOT tick includeSubdomains until thought through.
  • P4 (April 2027): refresh the Expires date in serveSecurityTxt() before May 2027. Currently set to 2027-05-05T00:00:00Z. RFC 9116 requires the date to be in the future; an expired security.txt reads as neglected.

Tips & credits

Keep this tab open in the background. Your browser must remain open for speech to work, and on mobile the screen may need to stay on.

Data credit: All match data is provided by snooker.org, maintained by Hermund Ardalen. This tool would not exist without his generosity in providing API access.