Apps · Our own product · App Store since May 27, 2026

Eggbeater

Our own product: the live layer for water polo. Scores, brackets, standings and player stats that move while the game is in the water, on the web, iPhone, iPad, Mac, Apple Watch, Apple TV, Android and Windows. This summer 1,822 people followed the Junior Olympics on it, and app sessions went from 357 the week before to 2,192.

A water polo player lunges for a yellow ball in a burst of spray, teammates in capped helmets behind, in the faded color of a late-1970s photograph.
What it is
A live scoring and tournament platform for water polo
Who it’s for
Clubs, tournament hosts, leagues, high schools and the spectators who follow them
Where
Apple App Store · Google Play · Microsoft Store · eggbeater.app
Since
First commit March 29, 2026 · App Store May 27, 2026
  • 1,822people followed the Junior Olympics live
  • 4,467Junior Olympics games followed live
  • 1,114Teams across three sessions
  • 8Platforms
  • 3App stores, all approved
  • 3Languages throughout
  • ~5 secGoal to phone, when scored on Eggbeater
  • 13,324Pages Google can crawl
  • 1,105High schools covered, 11 states
Eggbeater Desk on macOS, recorded live, not a mockup: the space bar starts the clock, a goal goes in from the sidebar, and the shot lands on the pool map.
01

Why it exists

One of us scored her own kids’ games for seasons the way most clubs do: typing play-by-play into a group chat while a paper bracket got damp on a folding table. There was no way to follow a score from anywhere but the pool deck. The first version, in March 2026, was a web app for one team. The first post asking for testers was titled “I built the water polo tournament app I wish existed.”

It followed its first real tournament in May, in Quebec: 13 teams, 28 games scored live, 17 lock-screen Live Activities running at once. It reached the App Store on May 27.

02

What it is now

  • For spectators. Scores move within about five seconds of a goal when the game is scored on Eggbeater; results posted at an event desk land the moment they’re posted. Brackets, standings, player stats, play-by-play and My Path: where a team goes next. Live Activities on the iPhone lock screen, widgets, Apple Watch and a free Apple TV app with no login for the hotel lounge. English, Spanish and French throughout. Free.
  • For the scoring table. Eggbeater Desk: a scoring console for the volunteer at the desk, on iPad, Mac, Windows and Android tablets, with a hands-free clock and the rules the referee expects the desk to keep.
  • For hosts and leagues. Tournament pages with seeds, times, venues, live scores and a calendar file. Leagues run on their own worker, so league data never touches tournament data. Rosters come in from the governing body’s system, or from a photograph the app reads.
  • Ask the Desk. Ask in plain words (“who do we play next?”) and get an answer built from the data. Every sentence comes from a lookup: no language model, no made-up answers.
The Eggbeater home page: 'Your next water polo game: when, where and the live score,' with the spectator app showing a live game, Kirkwood Ridge 3, Markleeville High 5, and a banner that high school polo is on Eggbeater.Eggbeater on Apple TV: the 4K lobby scoreboard, Markleeville High 5, Kirkwood Ridge 3, live in the third quarter, over a Bay Bridge sunset, with the next game listed below. Sample data.
eggbeater.app after the summer, and the free Apple TV scoreboard for the lobby screen. App screens show Eggbeater’s built-in demo school, Markleeville High: sample data, not a customer.
The Eggbeater spectator app on iPhone: the Games tab with a live game, Kirkwood Ridge 3, Markleeville High 5, and the next game below; and the live game itself with the latest plays, who is in the water and scoring by period. Sample data.Eggbeater Desk on iPad, the practice board: the clock running, a 2 to 1 score, goal, shot and foul buttons, and the pool map with the shots plotted.
The spectator app on iPhone, and Eggbeater Desk on iPad, shown on its practice board. App screens show Eggbeater’s built-in demo school, Markleeville High: sample data, not a customer.
03

For coaches: film, photos and Verify

  • Film Review. Every final with its game film. Each goal, exclusion and save is a moment to jump to, lined up from one number: when the opening sprint happens in the video.
  • Eggbeater Studio. The team’s game photos and film, sorted by game and kept for the team. Photos are filed under each player by the cap number in the picture, never by face, and every photo is credited to the person who took it. Uploading photos is free.
  • Verify (beta). Verify reads the cap number on every logged play from the camera’s own file and flags the plays where the film and the scorer disagree. A coach makes the call; Verify never changes a play.
Film Review on the coach dashboard: a high school game’s film beside its goals, each one a moment in the film.Eggbeater Verify: 140 plays read from the film, 8 contradicted, each with the logged cap, the cap the film shows and a note.
Film Review: the game film and every goal as a moment to jump to. Verify on the same game: 140 plays read, 8 flagged where the film shows a different cap. A real varsity game; player names removed, cap numbers only.
Eggbeater Studio on a game page: 22 photos from the game in a grid.One Studio photo full size: a player with the ball, credited to the photographer, with a download button.
Studio: a game’s photos filed with the game, every one full size and credited. Photos by Serge Wilson.
04

Junior Olympics 2026

The biggest event in American youth water polo. Three sessions in July and August, in Orange County and North Texas: 31 divisions, 1,114 teams, 4,467 games, 247 shootouts. Eggbeater followed all of it: every desk result within seconds of posting, play-by-play wherever a club scored in the app, 12 divisions live at once, every shootout with the winner kept.

People came: 1,822 followed on the web over the 16 days, up from 702 the week before, with 413 on opening day. On iPhone, 367 people installed the app for the first time, 87 of them on opening day, and sessions went from 357 the week before to 2,192. Apple counts only the users who share analytics, so the real numbers are higher.

Saturday, July 18, the first morning: the iPhone scorer crashed for two clubs. Scorers switched to the web scorer, a fix went to Apple, and it was approved and live in about two and a half hours. Five server fixes shipped the same day and were verified during real games. That is what running a live product on its biggest day looks like.

On the eve of the medal rounds we measured the incumbent bracket site: 19.2 hours stale, with 858 of 2,135 games missing. Eggbeater was five seconds.

“I honestly fell in love with it.”

“I have yet to find a platform or application that is as useful as yours.”

Team Orlando Coach · Junior Olympics 2026
05

High school

In August the platform went to high school water polo: every state where it’s played, eleven of them, and 1,092 schools with schedules, rosters and results assembled from public records: 17,380 games and 18,286 players at launch, none of it waiting for a school to sign up. In September a results crawl added 7,054 finals across 735 schools, each checked against both schools’ pages. Any school can claim its page and score its own games; the first season is free.

hs.eggbeater.app, the high school home: eleven states and 1,105 schools, every school drawn as a dot on a map of the United States.
hs.eggbeater.app: eleven states and 1,105 schools, every one a dot on the map.
06

Sierra Shootout

For the 31st Chuck McCollum Sierra Shootout in September, the tournament got its own page: 55 teams, 110 games, four brackets, seeds, times and venues, a calendar file and live scores. The history page derives every standing from the game results, and the same method reproduces the host’s official 2025 standings exactly, 58 of 58.

The 2026 Sierra Shootout on eggbeater.app: the Platinum bracket from the first round to the final, and the podium.Battle By the Bay 2026 on eggbeater.app: Saturday's brackets for first to fourth and fifth to eighth, with every result, and the games at each venue below.
The Sierra Shootout’s Platinum bracket, and Battle By the Bay 2026, hosted by Encinal High School: 15 teams, 29 games, two venues. Real tournaments: school names and scores only.
07

Search at scale

By medal weekend the tournament site had 13,324 pages Google could crawl, generated from real schedules and results. The incumbent had 13. Sitemaps grow with the data, and IndexNow tells Bing the moment a page changes: 19,800 URLs in four hours, one day in July. Every event and game carries structured data, and the marketing site is prerendered in three languages.

08

How it’s built

Web: React with static prerendering on Vercel, an install-free deploy. Live data: Cloudflare Workers with KV storage and Durable Objects, so two scorers can’t overwrite each other. Native: Swift across iPhone, iPad, Mac, Watch and TV from one shared core; Kotlin for the Windows and Android consoles.

The scoring engine exists three times, in JavaScript, Swift and Kotlin, and is held identical by 39 recorded real games that every version must replay exactly. That harness caught a real rules bug: a brutality foul that served 20 seconds instead of four minutes. 970 web tests, 63 Swift tests, 105 Kotlin tests. Six certification attempts at the Microsoft Store, two of them real bugs. All of it built and shipped by a team of two.

Eggbeater Desk on a Mac, the practice board: the clock running at 6:17, Markleeville 3, Kirkwood 1, the shot map with two goals and a keeper save, and the play log.Eggbeater Desk for Windows, the practice board: the clock running, two mapped goals, the lineup in the water and the play log.
The same scoring console on Mac and Windows, both on the practice board.
Eggbeater on an Android phone, a live game with its play-by-play, and on Apple Watch, a live game at 8 to 6 in the third quarter with 3:42 left.
Android and Apple Watch. Eight platforms, three app stores, one scoring engine. App screens show Eggbeater’s built-in demo school, Markleeville High: sample data, not a customer.
09

Why it matters to you

We run a software product of our own, with store reviews, payments and customers who notice within five seconds when something breaks. Your project gets the same standard, and the same people.

10 · Questions

Questions

See it live at eggbeater.app. Then get a free check of your own site: tell us what it should be doing that it isn’t.

Peach & Madison Design. Eggbeater is our own product, built and shipped by a team of two. The first version was a web app for one team in March 2026, and it reached the App Store on May 27, 2026.

Eggbeater: live scores, brackets, standings, player stats and play-by-play for water polo, at eggbeater.app and on iPhone, iPad, Mac, Apple Watch, Apple TV, Android and Windows. It is free for spectators, in English, Spanish and French.

Yes, all of it: 4,467 games across 31 divisions and 1,114 teams in three sessions, with every desk result live within seconds of posting.

Free visibility check

See how your business shows up on Google, Bing and in AI answers.

No sales call, no obligation; the document is yours to keep whether or not you hire us.