CleanInnings · information architecture proposal · October 20, 2026
Organize the app around the game, not around the features.
Today the app is laid out the way we built it: one page per feature. Coaches think in a rhythm instead: get set up once, practice during the week, play the game, look back after. Parents think about their kid. The DJ thinks about who's up. Each of them should land on the one thing they need now, with everything else one tap away and nothing in two places.
114
~506
51
31
21
Why it doesn't feel like one experience
From a full walk of every page, menu and button, by role.
- One game is spread across five pages.The lineup is on Game day, the notes are in Bench Notes, play-by-play goes in through Stats, the opponent is in Scout, and the review is its own page. Stats import even says "Start the game in Bench Notes first." The coach has to put the game together in their head.
- Setting up and running the team are mixed together.Coach's Office holds the one-time setup (roster, parents, signs, playbook) next to things that keep going (videos, team look). The same "Get the team ready" scorecard shows on Home, in the Office and, in another form, in team setup. Each "Next" button goes somewhere different, and team setup's Next skips the parents step.
- Plays live in two places.Coaches edit plays in Office › Plays and read them in Playbook › Plays. Each list has its own search and filters, and neither links to the other's version of a play. Field style is set in four places.
- Too many decisions on one screen.The DJ board shows the scoreboard, song mode, announcer voice, ballpark sound, screenshot import, swap, guests, the full order with arrows, and the bench. That's about 50 controls for someone who needs two: Play and Next.
- Parents get the least.The server already lets parents see their child's game review, stat card and coaching videos, but no page links to them. A parent's Home has a drill button and two links that repeat the menu.
- One idea, many names.Drill, Play, Practice and "Play ball" mean the same thing, and "Practice" also means practice plans. Lineup, batting order and "the order" are one thing. "Review" means both the game review and reviewer feedback mode. Help comes in six forms.
Who comes here, and what they come to do
Sorted by how often each job happens. The top of each list is what that person's home must make easy.
| Person | Every game | Every week | Once a season |
|---|---|---|---|
| Head coachoften also the club admin; a volunteer, on a phone, in a hurry | Set the lineup · check the opponent · log plays from the dugout · see the review after | Plan practice from the last review · see who's drilling · confirm new parents | Make the team · roster · invite parents, coaches, DJ · signs · playbook |
| Assistant coach | Same as the head coach's game jobs, often the one taking notes | Run part of practice · read the playbook | Accept the invite |
| Team DJa parent volunteer | Open the board · play walk-ups · next batter · fix the lineup when it changes | (nothing) | Accept the invite · help parents add songs |
| Parent | See how my kid did · what to work on | Hand the phone over for drills · check the walk-up song | Join, consent, pick my child · add a walk-up song |
| Player under 13through a parent's account, or a login the parent sets up | Know the signs and my job on each play | Drill · read the playbook | (nothing; the parent does it) |
| Player 13–17own login; a coach or parent supplies the email | See the lineup · read the signs · see my review after | Drill · playbook · my player card | Join with the player link · pick my walk-up song |
| Adult playeradult leagues; no parent at all | Same as a teen player | Same as a teen player | Join with the team link |
| Club admin | (nothing) | Switch between teams | Make teams · add coaches · later, fees (#515) |
| You (support) | Invite testers · see what a coach or parent sees (#4) · the feedback queue | ||
Players of every age
Not every player is a kid. The legal line is 13: below it, the law requires a parent's consent; above it, the child-privacy rules stop and the safeguards would just get in the way of a 15-year-old. So the safeguards depend on age.
| Under 13 | 13–17 | 18+ | |
|---|---|---|---|
| Gets in | Kid mode on the parent's phone, or their own login the parent sets up | Own login; email from a coach or parent | Own login, from the team link |
| Parent | Required: consent and confirms their child | Linked if they want; gets a notice | None |
| Player can | Drill, playbook, their own song | Everything about themselves: drills, playbook, games, their review and player card, their song | |
| Still true | No messages between players. Last names follow the same rules. Nothing public. | ||
How the app knows a player's age: the team's age group sets the starting point (a 12U team starts everyone as under 13), and the coach can change a player to 13–17 or 18+. No birthdays. A coach can't supply an email for a player under 13; only a parent can agree to that.
The spine: the rhythm of a season
Every coach job fits into one of four moments. The app should know which one it is and open on it.
Once. Roster, parents, signs, playbook. A guided path that ends.
Lives in: setup path → then Team & PlaybookPractice, drills, the playbook, what to work on.
Lives in: Today · PlaybookLineup, opponent, DJ board, dugout notes.
Lives in: the game's pageScore, review, play-by-play, stats, back into practice.
Lives in: the game's page → TodaySeven rules
- Open on now.Each role's home shows the one thing to do next, and at most two more.
- The game is the hub.Everything about a game sits on that game's page, in Before, During and After.
- One home for each thing.Nothing lives in two places. Coaches edit where everyone reads.
- Setup is a path, not a place.It walks you through, ends, and gets out of the way.
- One main action per screen.Settings go behind a gear, and edit modes stay closed until you ask.
- Parents see their kid, not the machinery.Their home is their player.
- One word for one thing.Everywhere: page titles, buttons, tours, emails.
The menu, by role
Phone tab bar, current versus proposed. Everything that isn't a tab goes under More: settings, help, Ask Skip, switch team, Admin.
Coach
Team DJ
Player, 13 and up
Parent
The key screens
Wireframes, not visual design. They show what goes where and how few decisions each screen asks for.
- Lineup set ✓
- Opponent not scouted
- Walk-up songs 11 of 12
Coach: Today
Replaces Home. It knows the moment and shows at most three cards:
- Setup not finished: the scorebook card with the next step (your "filling in the scorebook" idea) and nothing else.
- Game today: the game card above, with what's ready and what isn't.
- Otherwise: the next game and this week's focus, taken from the last review.
- Anything blocking: one alert at most, such as parents waiting.
The team switcher moves into the header, where a coach with two teams can see it.
The game page
One page per game, opened from Today or Games. It switches to the right part by itself depending on the time.
- Before: Lineup (screenshot, swap, guest), Opponent (today's Scout), and who has no walk-up song.
- During: DJ board, notes (today's Bench Notes), and a signs card for the dugout.
- After: final score, review, and the play-by-play import (today in Stats).
Games also has a Season tab for the stats table. Scout, Stats and Bench Notes stop being menu items.
7
Mia Reyes"Thunderstruck" · clip Play walk-up- 1 · Leo
- 2 · Mia ◀ up
- 3 · Ava
- + 9 more
DJ board: play mode first
The screen shows only what's needed at the plate: who's up, Play, Next, on deck.
- Edit opens lineup mode: screenshot import, swap, add a guest, the bench. It's one place, and it's closed by default.
- The ⚙ gear holds song order (rotate / first / shuffle), announcer voice and ballpark sound. These are set once, not every batter.
- The silent-switch hint and keep-screen-awake belong here.
7
MiaShortstop · next game Sat 10:00 vs Hawks Hand it to Mia: drillParent: My player
Everything about their kid in one column: the next game, a drill to hand over, the last review, and the walk-up song. With two kids, it's one card each, swiped side to side.
- Waiting for the coach to confirm: one "Almost there" card with "Practice now (not saved)".
- "Hand it to Mia" opens kid mode: full-screen drills with no menus, and Done brings the phone back to the parent.
- Shows only what the server already lets parents see: their child's review and stat card. Nothing new is exposed.
Playbook: read here, edit here
One list of plays for everyone. Coaches get Edit: switch a play on or off, move players, write a note, copy a play, attach a video. The same goes for Signs.
- Videos show up next to the play, as the app already promises but never does.
- "Drill this play" stays on every play.
- Field style is set once, in the field's own corner, and remembered.
Team: the people and the settings
Everything about who's on the team, in one place.
- People: one Invite button that asks "a parent, a coach or the DJ?", instead of three link cards.
- Team settings: gets the missing switch for hiding the playbook or drills from players. The server supports it but there's no control for it.
- Club admins: also get a Club row for the club's teams and coaches. Fees (#515) go here later.
Setup: one path, then gone
Making a team leads straight into five scorebook frames: Team → Roster → Parents → Signs → Plays. Each frame has one job, a Next and a Skip for now.
- Signs and plays come filled in. The coach looks them over and takes out what they don't run (your "auto-fill, opt out" note).
- Exit any time. Today shows "Finish setup: 3 of 5" until it's done, then the card goes away for good.
- After setup, each thing has its normal home: roster and people in Team, signs and plays in Playbook.
Where everything moves
Nothing is lost. Every old link redirects to its new home.
| Today | Moves to | Why |
|---|---|---|
| Home (coach) | Today | Opens on the moment, not a dashboard |
| Game day › DJ board | Game › During | The board belongs to a game, and DJs land on it |
| Game day › Walk-up songs | Team › Walk-up songs; parents: My player | Songs are about players, not one game |
| Bench Notes | Game › During (notes) | You take notes during a game |
| Review | Game › After | The review is the end of a game |
| Stats › play-by-play | Game › After | No more "start the game in Bench Notes first" |
| Stats › season table | Games › Season | Season stats sit next to the games they come from |
| Scout | Game › Before (opponent) | You scout a particular opponent |
| Coach's Office › setup steps | Setup path, then Team / Playbook | Setup ends; the parts stay editable where they live |
| Office › Plays, Office › Signs | Playbook (Edit) | One list, edited where it's read |
| Office › Videos | On each play in Playbook | Shown where players will actually see them |
| Office › Look | Team › Team settings | A setting, not a setup step |
| Drill (coach) | Playbook › "Drill this play" and Team › each player's progress | Coaches look at drills more than they do them |
| How it works, tips, "?", tours, guide | The "?" on each page, plus Help under More | Six kinds of help become two |
One word for one thing
| Today we say | We'll say | Notes |
|---|---|---|
| Drill, Play, Practice, Play ball, Quick game | Drill | The address becomes /drill. "Practice" means practice plans only. |
| Lineup, batting order, the order | Lineup | The opponent's hitters become "Their hitters". |
| Bench Notes, game log, Notes | Notes | Inside a game. Or we keep "Bench Notes" as the name of that part; your call. |
| Review (game), Review mode (feedback) | Review = the game · Feedback = Ask Skip | Reviewer mode becomes "Feedback mode". |
| Stat card, player card | Player card | One card per player: the season plus recent games. |
| Know the signs, Read the coach, the signs quiz | Read the signs | |
| Custom, Ours, Our own plays, Edited | Our plays · Edited | "Ours" = made by us. "Edited" = we changed a standard play. |
| Look, Field style, Field look, skin | Field look | Team colours sit beside it in Team settings. |
| Team code, 8-letter code, invite link, parent link | Team code · invite link | |
| How it works, How-to videos, tips, tours | Help | The "?" on each page opens that page's walkthrough. |
| Title Case leftovers from the template ("Save Changes", "Admin Dashboard") | Sentence case | Everywhere. |
What goes away
Settings links to template plans ("Basic $9, Pro $29, Enterprise $99", with "API access"). It goes until real club pricing exists (#515).
Its parts move to the setup path, Team and Playbook. /office redirects.
One setup path with one Next. Home and Office stop repeating it.
The quick links on Home that duplicate the tab bar.
The Terms link that 404s. "Add players in Coach's Office" shown to a DJ who can't open it. Login forgetting where you were going.
A DJ has no player to drill. It's unsaved practice that goes nowhere.
Build order
Each phase ships on its own and is an improvement even if we stop there.
- 1Quick wins: about a day
DJs land on the board. Board play mode with a gear and an Edit lineup mode. The silent-switch hint and keep-screen-awake. The vocabulary and sentence-case pass. The fake billing page goes, Terms gets fixed, the team switcher moves to the header, login remembers where you were going, and parents get links to their kid's review.
Low risk, no data changes. - 2The game becomes the hub
Games list and game page (Before / During / After). Notes, review, play-by-play and scouting move in. The lineup belongs to a game. The coach tab bar becomes Today · Games · Playbook · Team.
One data change: lineups gain a game (the team lineup we just shipped becomes the default). Games can come in from the GameChanger extension. - 3Office dissolves
Playbook gets Edit mode for plays and signs, videos attach to plays, Team gets roster, people, songs and settings, and setup becomes the guided scorebook path.
The biggest change to screens coaches already use. All old links redirect. - 4Parents and players
My player, kid drill mode, and parent Games narrowed to their child.
- 5Today gets smart
This week's focus comes from the last review, and drill progress shows by player. Then we re-record the help videos once, against the final structure.
Five calls for you
The alternative is to keep feature tabs and just trim them. That's less work, but the game stays scattered across pages.
My call: yes, the game is the hub. It's the biggest single reason the app feels disconnected.
Coaches would edit plays and signs inside the Playbook instead of a separate back room. The risk is that a coach changes something mid-game by accident; the fix is an explicit Edit button.
My call: yes, edit where you read.
Today a coach makes a game by hand in Bench Notes. GameChanger already has the schedule.
My call: bring the schedule in with the extension, plus an "Add game" button for anything else. Today then always knows the next game.
"Hand it to Mia" opens full-screen drills with no menus, so a 10-year-old can't wander into settings.
My call: yes. It's small and it makes drills feel like the kid's own thing.
Under 13: through the parent (kid mode, or a login the parent sets up). 13–17: their own login, with the email from a coach or parent. 18+: their own login, no parent. The coach sets each player's age group; the team's age group is the starting point.
My call: yes. Lawyer check on the newer COPPA rule changes and the state laws on teens' data before 13+ accounts go live.
Built from a walk of every route, menu, button and role check in the app as of commit c665dc9, plus your earlier reactions: scorebook-style setup, a next step after saving, no needless "make a link" step, auto-filled signs with opt-out, and club-first setup. React to any section; 👎 with a note is the most useful.