JEDDORE / OSAsk AI
Verified: Public and checkable: a live product, a public page or a shipped app.Shipped

ReadyRef

Flag football officiating, live scoreboards and league management.

Role
Founder · product · design · full-stack development
Status
Live on Google Play and the web. iOS in development.
When
2026 – present
Stack
  • React
  • TypeScript
  • Capacitor
  • Android
  • Firebase Auth
  • Firestore
  • Realtime Database
  • Cloud Functions
  • Stripe
  • Google Play Billing
  • MCP
  • LLM retrieval
  • The ref's swipe pad: the scoreboard at the top, timeout and score buttons, and a large Start button with swipe directions for first down, next down, turnover and flag.
    Swipe pad: four directions, four calls, eyes on the field.
  • The ref's button layout: the scoreboard, timeout and score buttons, Flag, 1st Down, Turnover and Next Down, and the play log.
    Classic controls with the play log and undo.
  • A fan following the game live: the scoreboard, a crowd meter for each team, reaction buttons and the latest scoring plays.
    What fans see: live score, crowd meter, reactions.

The problem

Volunteer flag football leagues run game day from a whiteboard. Refs juggle downs, the clock, penalties and league rules such as a girl-play counter in their heads, and the parents on the sideline usually can't see the score at all.

A dedicated scoreboard costs around $300, which a new league can't absorb.

The opportunity

Every ref, coach and parent already carries a phone. If the scoreboard lived there, it could also feed live spectating, standings, schedules and league websites, and turn a game into something families share.

My approach

  1. 01

    Ref-first

    The referee screen had to work one-handed and eyes-up: tap to run the clock, swipe for downs and turnovers, or map calls to the phone's volume buttons or any Bluetooth remote, even with the screen off.

  2. 02

    Spectators for free

    Every game gets a six-character watch code. Fans open readyref.app/game/CODE in any browser to follow the score, clock and play-by-play live, with no app and no account.

  3. 03

    Grow into the league

    Once games run on it, the same data powers schedules, standings, tournaments, season stats and a public league website.

  4. 04

    AI that cites its source

    The rulebook assistant answers only from the league's own uploaded rulebook, quotes the exact rule, and says when the rulebook doesn't cover the question.

Architecture

Select a component to see what it does, what it connects to, and its status.

One React + TypeScript codebase ships to the web and, through Capacitor, to Android. Firebase splits the data by how fast it moves: Realtime Database for live game state, Firestore for durable league records, Cloud Functions for everything the client mustn't be trusted with.

  • Clients
  • Edge
  • Server
  • Data
  • External

Architectural decisions

Two databases on purpose
Realtime Database for sub-second game state, Firestore for queryable league data. Each does one job well instead of one doing both badly.
Capacitor over a native rewrite
One codebase keeps a solo developer shipping to Android and the web together; native plugins cover hardware buttons and haptics.
Server-side entitlements
An early version stored the subscription tier where the user could write it. Moving it into Cloud Functions changed how every schema after it was designed.
Youth privacy by default
Public league sites publish team names, scores and standings, never player names.

Implementation details

  • Play log with timestamped events and one-tap undo on any action, so a mis-tap never corrupts a game.
  • Crew mode: several referees join one game by PIN and changes sync across devices live.
  • Season Wizard: fields, time slots, dates to skip, referee assignments and conflict detection; tournament generator for single elimination and round robin variants.
  • League registration with versioned waivers, capacity, deadlines, and card payments to the organizer's own Stripe account or offline payment.
  • A marketing site with guides, rules, free tools (schedule maker, play maker) and an llms.txt for AI search.

Challenges overcome

Trust on game night

If the ref taps touchdown and the number flickers, they stop trusting the app. Live state is optimistic, ordered and reversible.

Four users, one app

Organizer, referee, coach and fan each want a different product. The home screen went through several rewrites to answer one question per role.

Solo, around a season

Back end, app, website, billing, art and support, built on nights and weekends during an actual season.

Capability status

Completed, experimental and planned capabilities, kept separate on purpose.

Live12

  • Referee scoreboard, clock, downs, penalties
  • Volume-button and Bluetooth remote control (Android)
  • Swipe-pad controls with haptics
  • Live spectator scoreboards by watch code
  • Fan reactions, predictions and leaderboards
  • Multi-referee crews synced live
  • Season scheduling, standings, tournaments
  • League Pulse season and player stats
  • Public league websites
  • Registration, waivers and Stripe payments
  • AI rulebook assistant with citations · Plus and League plans
  • Interactive play designer (Play Maker)

Beta1

  • Smartwatch referee experience · Working; pending Google Play release

Experimental1

  • Play Maker MCP server for AI assistants

Planned1

  • Native iOS app · In development

Results & current status

  • Live on Google Play and at readyref.app, running real league nights at Bluewater Flag Football in Sarnia, Ontario.
  • Free plan runs a real game; Plus and League subscriptions fund bigger seasons.
  • Ships to Android and the web from one codebase.

Support and privacy for the ReadyRef app: ReadyRef app page.

Perspective

What brings you here?

Pick a perspective and the site reorders itself around what you care about. The facts don't change, only the emphasis. Change it any time from the top bar.

Evidence

  • Loading…