Stop running pickup games by sheer manpower.
Run them as a structured competitive network
We built a complete offline-event infrastructure for a vertical sports community operator — a dynamic supply-demand matching engine, a match state machine and an automated ops pipeline. The badminton community moved from random WeChat-group collisions to a predictable, measurable, compoundable competitive network, lifting per-group monthly event density from 8 to 35 and cutting organizer time by 80%.
Once a community crosses 500 members, the relationship network breaks down
The client runs a network of badminton communities with 3,000+ active users. At small scale, a few super-organizers can keep things humming on personal ties alone. Past 500 members, the old playbook — manual lineup chats, skill matching by gut feel, ops by goodwill — collapses fast. There's no shortage of users or events; the shortage is in predictability, measurability and compoundability.
"“Anyone free Sunday?” — posted in three groups"
Users repeatedly beg for partners, courts and waitlist spots across multiple WeChat groups. Organizers manually aggregate sign-ups, balance skill, gender and positions, and chase courts. A single lineup costs 1–2 hours of chat and a core organizer who has to be online the whole time.
"Pros bored, beginners crushed — nobody comes back"
With no shared skill metric, mixed lineups feel awful: pros win six in a row and lose challenge, beginners get pummeled off court and lose confidence. Both ends churn, leaving only an undifferentiated middle that can't sustain the network.
"Every match might as well not have happened"
Traditionally each match evaporates the moment it ends: no points, no tier, no record. Users can't see their growth, so play becomes pure time spent. No capture → no achievement → declining frequency → LTV that never compounds.
"Burnout = community death"
Every active community runs on 1–2 super-nodes: court booking, coordination, collecting fees, splitting sides, keeping score, mediating disputes. None of it can be distributed or standardized. The day an organizer steps out (job change, move, lost interest), the whole network collapses in 2–3 weeks.
A Sunday afternoon mixed-doubles ladder: one user's full journey
The scenario below is reconstructed from real, anonymized operating data. We follow user “Li Mo” to show how the system turns chaotic ad-hoc pickup into a structured competitive experience — same time slot, same players, two very different journeys.
Sunday 14:00 · 6-person mixed doubles round-robin · mid-tier
Saturday night posts “Anyone playing Sunday?” in 3 groups → waits 4 hours to gather 6 people → skill mismatched, 3 sets ended in lopsided routs → pros bored · beginners frustrated → scores scribbled courtside, lost on the way home → “we'll see next time”
Saturday night taps “publish lineup: Sun 14:00, mixed doubles round-robin, mid-tier” → engine matches 5 players (Elo 1280 / 1300 / 1340 / 1350 / 1380) + 1 waitlist (1.2km from the court) → Sunday 13:30 push reminder, scan-in on arrival → 6-person round-robin auto-grouped, live scoring → Li Mo pairs with a net player, takes 2-of-3, score +22, “golden duo” partnership unlocked → dashboard: 15 matches this season, win-rate 48% → 67%, 80 points to Gold
“It used to feel like opening a blind box every time. Now it feels like ranked play. I can watch my own numbers move — that feedback is addictive. I've played 23 events this season and I'm 80 points from Gold.”
Three paths for a sports community — we picked one to be the main rail
Against the real scale — 3,000+ users, 100+ events per month — we benchmarked three candidate paths on the same yardstick, then designed a blended solution that lets each do what it's best at.
- Strong on emotional communication and edge-case dispute handling
- Flexible — can absorb non-standard requests
- Single point of failure — burnout kills the community
- Collapses past 500 members; can't sustain steady-state ops
- No data capture → no achievement → declining repeat play
- Off-the-shelf, low initial cost
- Mature enough for occasional pickup
- Lineup, matching, scoring and ops live in separate tools — data doesn't flow
- No Elo model, so no real skill matching
- Can't support a points asset, tier system, or community operations pipeline
- Lineup forms in 5 minutes; organizers only book courts
- Elo-driven scoring, same-game variance < 15%
- Built-in rules engine, live scoring, automatic settlement
- Every match flows into the data lake; tier / win-rate computed live
- System absorbs 90% of ops work — organizers can decentralize
- Needs a cold-start period to calibrate skill self-assessment and converge the Elo model
- Needs court-resource integration and merchant onboarding
An observable, intervenable, evolvable competitive-ops pipeline
We abstract the system as five sequential stages, each with explicit inputs, outputs and degradation strategy. This isn't a black-box recommender — it's an explainable operating infrastructure for sport.
When a user says “I want to play Sunday,” the system guides them to fill in time, format (singles / doubles / mixed), party size (4–8), skill tier, position preference (net / back / all-court) and geo range — landing as a structured demand record the engine can consume.
The matching engine scans every concurrent demand in milliseconds, optimizing across Elo, position preference, distance to court and historical partner chemistry — guaranteeing same-game variance < 15% and a complete lineup within 5 minutes.
Once a lineup forms, the system fires check-in reminders, geofence-based arrival detection and scan-in to pairings; no-shows are auto-backfilled from the waitlist and logged against a credit score — keeping event fulfillment above 95%.
Match execution runs on a rules engine: each of singles / doubles / round-robin / knockout has its own state machine, both sides confirm scores live, partners scan to bind a chemistry edge in the graph, and win/loss + Elo deltas settle automatically.
Every match increments the user's competitive asset: Elo updates against opponent strength (beat a higher-rated player, earn bonus points), the tier system (Bronze → Silver → Gold → Platinum → Diamond) recalculates live, and multi-dimensional dashboards make growth visible.
Four-layer skeleton — each layer evolves, swaps and scales independently
The application, algorithm, data and access layers each do one job. Clean boundaries and swappable implementations let the system scale from badminton to tennis, table tennis, frisbee, hiking and more verticals without a rewrite.
Three engines, one pipeline
Dynamic matching, the match state machine, and automated ops — each engine specializes, all three coordinate through the unified Match Hub. Below are screens from the live product.
Scans every concurrent demand in milliseconds; matches by Elo / position / distance / partner chemistry.

Rules DSL drives singles / doubles / round-robin / knockout. Two-side score confirm, auto Elo settlement.

Check-in reminders, geofence arrival, waitlist backfill, credit-based scheduling — fully unattended.

Three engines × one Match Hub
All three engines share a single user identity, points account and data bus, but specialize: one solves matching, one solves execution, one solves fulfillment.
See the full engine capability mapFrom discovery to share poster — the full user journey
Selected mockups from the Youqiu user-facing mini-program. Discover → sign up → pick a format → form the lineup → live scoring → result poster → invite a friend — every screen maps to a stage in the pipeline.

Recommended lineups + distance / time / format filters + one-tap sign-up

Organizer info + venue / deposit / post-event pricing + sign-up

Pick an empty slot + sign up self / sign up for a friend + live status

Singles / doubles / team + round-robin / fixed-pair / A+B / king-of-the-court

Millisecond matchmaking + cancel-before-deadline policy

Match progress 2/10 · live score · net wins · record & stop

Sharable lineup card with time / venue / fee at a glance

Personal club ranking · round-robin leaderboard · wins & net score
Real shipped UI (anonymized). The operations cockpit is shown in section 06 below.
Real-time loop · Sports operations cockpit
Every lineup, match, score and user-growth event flows into the data layer in real time. The cockpit surfaces event heatmaps, tier distribution, Elo curves, fulfillment monitoring and exception alerts.
- Diamond6%
- Platinum18%
- Gold34%
- Silver28%
- Bronze14%
- Match EngineMatched Sun 14:00 mixed doubles · 6-person lineup12s ago
- State MachineLi Mo 3-2 vs 1380-rated opponent · Elo +221m ago
- OpsReminders pushed to 50 events · 96% on-time arrival2m ago
- AssetNew Golden Duo: Li Mo × Lisa3m ago
- OpsWaitlist backfill · alternate on-site within 5 min5m ago
From manpower-driven pickup to a system-driven competitive network
Like-for-like community comparison — the most direct evidence of whether the solution actually solved the problem.
“One organizer used to max out at 8 events per week. Now the system runs lineup, matching, scoring and points end-to-end — I just book the court. Organizers went from a single point of failure to lightweight ops. For the first time the network feels predictable, measurable and compoundable — that's what a community should feel like.”
Core engine delivered in 8 weeks
- 2026.02.15Requirements alignment + anonymized data study
- 2026.03.05Elo model + matching algorithm prototype
- 2026.03.28Rules state machine + fulfillment pipeline built
- 2026.04.18User app + organizer console live
- 2026.05.10Operations cockpit + tier system live
- 2026.06.01Full rollout · per-group density crosses 35
Same engine, more vertical sports communities
“Dynamic matching + match state machine + automated ops” is the general-purpose infrastructure for sports communities. Any vertical that needs skill metrics + lineup matching + asset capture can land on this skeleton fast.
Core design principles
From idea to launch —
we'll land your sports community
Wavesteam focuses on enterprise AI software delivery, grounded in software engineering and shaped by real business scenarios — from requirements to a shipped system.We focus on landed, production-grade AI software for the enterprise.


