Matchday — adult soccer team app · Mobile Apps · Build 17
A soccer team's app: fixtures, RSVPs, standings and the leaderboard.
An adult soccer team playing in several leagues kept fixtures in a group chat and stats in nobody's head. Matchday is one codebase that runs as an iPhone app, an Android app and a website: games with RSVPs, results and match reports, standings and a leaderboard that calculate themselves, and a tappable map of the park.
3.
Platforms from one codebase — iOS, Android, web
0.
Tables kept by hand — standings and leaderboard compute themselves
2 taps.
To announce a game in the team's WhatsApp group
The brief
Three leagues, a roster that changes weekly, and forty replies to 'who's in Monday?'.
The problem
A team in three leagues has three schedules, a roster that changes weekly, and a group chat where 'who's in Monday?' gets forty replies. Goals and assists lived in one person's memory, and the standings lived on a league site nobody could find on a phone.
The solution
One Expo codebase shipped as an iPhone app, an Android app and a website: games with RSVPs, results and stats that compute the standings and leaderboard by themselves, and a two-tap share back into the group chat.
01 · The next game
Who, where, when — and who's coming.
Home opens on the next game: the opponent, kick-off, the field (on a drawn, tappable map of the park) and the RSVP count. One tap to say you're in; one more to announce it in the team's WhatsApp group with the RSVP link inside.
- RSVPs per game
- Tappable field map
- Two-tap WhatsApp share
Mondays · 7v7 · Week 6
vs. Riverside United
8:30
kick-off
11
going
Field 3
north pitch
You're in
tap to change your RSVP
Need 2 more for a full bench
3 haven't replied
Share to the team chat
matchup, kick-off, field, RSVP link
RSVPs from the shared link flow straight back into the app
Matchday — home
02 · Standings
The table updates itself.
Organizations, leagues, teams and real seasons. Enter a result and the standings — W-D-L, points, goal difference, form — recalculate. Nobody maintains a spreadsheet.
- Computed from results
- Every league the team plays in
- Seasons that roll over
League table
Mondays O40 · Fall
2nd
position
13
points
+9
goal diff.
1. Northside FC
5-1-0 · W W D W W
2. Our team
4-1-1 · W W L W D
3. Riverside United
3-2-1 · L W W D W
computed from results — nobody updates the table
Matchday — stats
03 · The leaderboard
Goals and assists, finally on the record.
Per-player stat lines on every game feed the leaderboard and the match report. Three permission tiers — admin, team manager, player — enforced in the database: only emails on the roster can read anything.
- Row-level security
- Sign in with an emailed code
- iOS, Android and web from one codebase
Season leaders
Goals & assists
31
team goals
6
games played
Diego "Flash" M.
7 goals · 3 assists
Sam K.
5 goals · 5 assists
Theo R.
2 goals · 6 assists
Matchday — leaderboard
The outcome
The group chat went back to banter. Everything else lives in the app.
The group chat went back to banter. Everything else — who's coming, where, the score, who scored — lives in the app.
Want a system like this one?
A 30-minute call to map what you have to what you need. Fixed-fee where the scope is known, $100/hr beyond it, and everything documented so your team runs it without me.
Team names, players and results shown are illustrative.
Next case study — Personal life app — finance, fitness, nutrition
Money, training and meals in one app — three spaces, one sign-in.
→