Weekly development
What is new in PLAYGRND
A public view of what we actually ship each week. Features are the primary signal, with technical versions kept as a verifiable trail.
WhatsApp AI becomes a real tool
Web v258–v298 · 41
versions API v96–v135 · 40
versions
- OpenRouter adapter with a low-cost router and a quality vision model for match sheets.
- Match sheets gain image gating, Croatian dates, caption hints, roster validation, confidence, cost, and audit.
- WhatsApp capability registry, HELP command, and this weekly changelog.
- AI intent for WhatsApp images and atomic team or league logo updates with permission checks and audit.
- AI search ranks players by league or team, tolerates name typos, and returns a short shareable link with audit.
- WhatsApp text and voice can draft a new season, but create it only after permission checks and explicit confirmation.
- Personalized WhatsApp login replies and an automatic secure link for previously unseen numbers.
- Superadmin AI token and cost usage per user, Redis rate limiting, and a manual per-account AI switch.
- The WhatsApp assistant stays strictly on PLAYGRND, answers greetings briefly, and does not answer questions outside the product.
- A curated PLAYGRND FAQ answers natural questions without another AI call, a vector database, or generated guesses.
- Signed-in users gain web AI chat, while admins gain league-season match-sheet upload and WEB/WHATSAPP usage reporting.
- WhatsApp HELP is shorter and shows organizer options only to users who actually manage a league.
- Faster player view rankings and more consistent public profiles and home experience.
Admin, design, pitch, and AI pilot
Web v149–v257 · 109
versions API v54–v95 · 42
versions
- New desktop and mobile navigation shell, redesigned home, and clearer public profiles.
- Scoped organization, league, venue, court, and team editing with R2 images and audit.
- Player view counts, Redis aggregation, and Most viewed ranking.
- First WhatsApp AI match-sheet pilot and public PLAYGRND pitch for organizers and investors.
Identity, claims, and organizer foundation
Web v50–v148 · 99
versions API v16–v53 · 38
versions
- WhatsApp passwordless login, profile completion, and existing-player claims.
- Superadmin and scoped roles, claim queue, session management, and audit log.
- Fast async WhatsApp webhook with Redis deduplication and no raw hot-path storage.
- Profile hub and foundations of the private organizer console.
Production stabilization
Web v11–v49 · 39
versions API v6–v15 · 10
versions
- Hetzner becomes the stable production origin while HP remains the local worker and control plane.
- Scrape and ingest flow is separated from production with verifiable archives and a private Go API.
- Deploy, Redis, health, and operational guardrails were hardened.
Current production counter begins
Web v1–v10 · 10
versions API v1–v5 · 5
versions
- Initial Hetzner release model established with separate API and web versions.
- Systemd, Caddy, PostgreSQL, Redis, and GitHub Actions form a reproducible production path.
Foundations before the current counter
Search and season views
- Unified SSR search across players, teams, leagues, and venues.
- Team tabs and team pages within a concrete league season.
Sun City history becomes product
- Matches, venues, players, identities, and historical seasons gain public SSR pages.
- Offline-first ingest, parity checks, stable users, and safe duplicate merging.
- Player statistics and team logos aligned with source data.
Seasons, standings, and split environments
- Separate dev/prod environments, R2 buckets, and safer deploy/sync flow.
- Season URLs, standings, scorers, and controlled data refresh.
Ingest and local production parity
- Idempotent Sun City ingest, deterministic JSON, and historical capture tooling.
- macOS blue/green local setup, sockets, Redis, and backup automation.
Football data model
- Organizations, leagues, teams, venues, courts, cups, and matches gain a stable model.
- R2 assets, presigned uploads, backups, CLI, and first public listing pages.
PLAYGRND foundation
- Repository, Go API, health, observability, and first deploy lifecycle.