📷 Game Photos (Google Photos) · Game Photos (Memento)
A comeback win the team controlled. Rebels out-attempted Beach FC 10 to 3, with 8 of those 10 chances coming from inside the box. Beach scored against the run of play from a corner just before halftime — but the response was immediate and sustained: 7 attempts after the break, an equalizer off our own corner sequence, and an open-play winner with two minutes left. Beach FC didn't register a single attempt in the second half.
| Rebels | Beach FC | |
|---|---|---|
| Shot attempts | 10 | 3 |
| Goals | 2 | 1 |
| Attempts from inside the box | 8 | — |
| 2nd-half attempts | 7 | 0 |
| 1st-half possession | 54.5% | 45.5% |
📷 Game Photos (Google Photos) · Game Photos (Memento)
The toughest scoreline of the weekend, with context that matters: this was the second game of the day, against a GA-league team that won its group without conceding a goal. City SC scored early, then used corners and sustained pressure around our box to add two more. The encouraging part: Rebels won the possession battle after halftime (50.5%) and created two chances from inside the box — the game's pattern improved even as the score didn't.
| Rebels | City SC | |
|---|---|---|
| Shot attempts | 4 | 13 |
| Goals | 0 | 3 |
| Corners | 1 | 5 |
| 2nd-half possession | 50.5% | 49.5% |
| Possession in attacking third | 14.6% | — |
📷 Game Photos (Google Photos) · Game Photos (Memento)
The new roster's first-ever game together, against the team that went on to win the entire showcase. Surf controlled territory (55.3% possession) and scored early, adding a second just after the hour-mark of pressure. Rebels answered within four minutes from the penalty spot and kept the deficit at one the rest of the way. A telling stat for the weekend: our penalty was the only goal Surf conceded in four games, including the final.
| Rebels | Surf | |
|---|---|---|
| Shot attempts | 1 | 11 |
| Goals | 1 | 2 |
| Corners | 2 | 4 |
| Possession | 44.7% | 55.3% |
| 2nd-half possession | 48.6% | 51.4% |
Final: SDSC Surf 3-1 City SC San Diego. The scheduled May 31 City-Surf group game was cancelled by mutual agreement (both teams had clinched) — the final served as that matchup. Source: MatchPro tournament site.
Mondays, Wednesdays & Thursdays · 6:15–7:45 PM
Southwestern College T-1 (large turf) · 900 Otay Lakes Rd, Chula Vista
Occasional cancellations and time changes happen — the subscribed calendar below is always the source of truth.
A subscribe-on-your-phone link will be shared once sign-in access is set up. The game cards above are always current in the meantime.
Goal: reach this dashboard from any device by signing in with the same Google account you already use for team photos — no more passing files around. Access will be limited to team families and staff.
Goal: every family gets a short text recap right after each game — score, headline, and a key stat or two — without waiting for the full match report here.
Goal: each match report shows photos from that game, with a browsable gallery and a filter to find your player by jersey number.
Goal: photos appear next to the moment they captured in the match timeline — the goal celebration photo sits beside the goal it celebrates, eventually with the video clip alongside.
Goal: make each goal in a match recap a link that jumps straight to that moment in the Veo video. A first version was tried and pulled back because the timing didn't line up reliably — revisiting once we can pull exact moment markers from Veo.
Goal: unlock individual player features in our game video — per-player stats, tagging players in clips and events, and personal highlight reels. This also lets future match reports recognize individual contributions, which the video analysis currently can't do.
Goal: each player gets a personal highlight reel pulled automatically from game film.
Goal: per-player season stats — minutes, goals, assists — tracked by jersey number.
Goal: scouting on upcoming opponents plus league standings and the playoff race.
Goal: when a game is streamed live, the link shows up here so you can watch from anywhere.
✓ Team dashboard launched — overview, charts, full match reports, and showcase results (June 4)
✓ Charts rendering fix (June 4)
✓ Calendar tab with upcoming games + live calendar subscription link (June 4)
A one-stop page for our GU15 team: schedule, game recaps with stats, film and photo links, and where the team is trending. It's a passion project maintained by a team parent, not an official club system.
The schedule comes live from PlayMetrics. Game film and stats come from our Veo camera and its AI analysis. Results come from the tournament/league sites. Photos are the shared team albums. Everything is reviewed by a human before it's posted.
After each game the manager adds the recap and updates the numbers; the site refreshes itself within a minute. The schedule updates on its own from PlayMetrics.
A single self-contained HTML file (no framework) hosted on Cloudflare Pages. Charts are hand-built SVG plus Chart.js. Access is gated by Cloudflare Access with Google as the identity provider — an allow-list of team emails, no passwords to manage.
Source lives in a private GitHub repo. A git push to main triggers a Cloudflare Pages build that redeploys in ~30 seconds — no manual upload. Every build stamps a version ID (in the footer); the page checks a /version endpoint on load and tells you if you're viewing a cached copy.
Match analysis comes from Veo's Coach Assist via a consistent, structured request, then every figure is reconciled against the game's own totals before it's entered. The live calendar is pulled server-side by a small Cloudflare Pages Function (so credentials stay off the page) and cached briefly. Passing zone maps and shot maps are drawn from Veo's pitch coordinates/zones, normalized per game for the halftime end-switch (each match's camera frame is handled individually).
Behind the scenes the manager runs this in a Claude “Cowork” project organized on two well-known knowledge-management standards. PARA (Projects, Areas, Resources, Archive) files everything by how it's used — e.g. match reports and opponent scouting are ongoing “Areas,” reference material is “Resources.” CODE (Capture, Organize, Distill, Express) is the workflow: capture raw game data, organize it into the right place, distill it into the key takeaways, and express it as the recaps and charts you see here. It keeps a season's worth of data tidy and repeatable.
v25-2dc1aa2d · 2026-06-06 19:47 UTC · Follow the team: @gu15rebelsecnlrl · Club: @rebelssc