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

coach menu items (plus More)

~506

controls on the DJ's first screen

51

pages one game is spread across

31

copies of the setup scorecard

21

lists of plays a coach manages

Why it doesn't feel like one experience

From a full walk of every page, menu and button, by role.

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.

PersonEvery gameEvery weekOnce 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 1313–1718+
Gets inKid mode on the parent's phone, or their own login the parent sets upOwn login; email from a coach or parentOwn login, from the team link
ParentRequired: consent and confirms their childLinked if they want; gets a noticeNone
Player canDrill, playbook, their own songEverything about themselves: drills, playbook, games, their review and player card, their song
Still trueNo 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.

1Set up

Once. Roster, parents, signs, playbook. A guided path that ends.

Lives in: setup path → then Team & Playbook
2The week

Practice, drills, the playbook, what to work on.

Lives in: Today · Playbook
3Game day

Lineup, opponent, DJ board, dugout notes.

Lives in: the game's page
4After

Score, review, play-by-play, stats, back into practice.

Lives in: the game's page → Today

Seven rules

  1. Open on now.Each role's home shows the one thing to do next, and at most two more.
  2. The game is the hub.Everything about a game sits on that game's page, in Before, During and After.
  3. One home for each thing.Nothing lives in two places. Coaches edit where everyone reads.
  4. Setup is a path, not a place.It walks you through, ends, and gets out of the way.
  5. One main action per screen.Settings go behind a gear, and edit modes stay closed until you ask.
  6. Parents see their kid, not the machinery.Their home is their player.
  7. 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.

Today Rivals 12U ▾
Game today · 10:00 at Lions Fieldvs Eastside Hawks
  • Lineup set ✓
  • Opponent not scouted
  • Walk-up songs 11 of 12
Open the game
2 parents are waitingConfirm they belong to Mia and Leo
This week: work on bunt coverageFrom Saturday's review · 6 of 12 players drilled it
TodayGamesPlaybookTeamMore

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.

vs Eastside Hawks Sat 10:00
BeforeDuringAfter
DJ boardNow batting #7 Mia Reyes · on deck #12 LeoOpen the board
NotesTop 3 · 4 notes so farAdd a note
Signs cardIndicator: touch belt · Wipe-off: clap
TodayGamesPlaybookTeamMore

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.

Board vs Hawks ⚙
Now batting

7

Mia Reyes"Thunderstruck" · clip Play walk-up
Next batter
On deck: #12 Leo Park
LineupEdit
  • 1 · Leo
  • 2 · Mia ◀ up
  • 3 · Ava
  • + 9 more
BoardSongsPlaybookMore

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.
My player Rivals 12U

7

MiaShortstop · next game Sat 10:00 vs Hawks Hand it to Mia: drill
Saturday vs Tigers · W 6–42 good plays · work on: tagging upSee the review
Walk-up song"Thunderstruck" · AC/DCChange
My playerDrillPlaybookGamesMore

Parent: 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 Edit
PlaysSignsPositionsPractice
Bunt 1 · sacrificeOn · 64% drilled · 1 video
1st and 3rd, early breakOff for players · edited
Pop-up priorityOn · needs work
TodayGamesPlaybookTeamMore

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 Rivals 12U
Roster12 players
Add · update from GameChanger
People2 waiting
Parents, coaches, DJ · Invite
Walk-up songs11 of 12
Team settings
Name, colours, field look, what players can see
TodayGamesPlaybookTeamMore

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.
Set up Rivals 12U Exit
TeamRosterParentsSignsPlays
Invite the parentsSend this link to the team group chat. Parents pick their kid, and you confirm. Share the parent link
Skip for nowNext: signs

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.

TodayMoves toWhy
Home (coach)TodayOpens on the moment, not a dashboard
Game day › DJ boardGame › DuringThe board belongs to a game, and DJs land on it
Game day › Walk-up songsTeam › Walk-up songs; parents: My playerSongs are about players, not one game
Bench NotesGame › During (notes)You take notes during a game
ReviewGame › AfterThe review is the end of a game
Stats › play-by-playGame › AfterNo more "start the game in Bench Notes first"
Stats › season tableGames › SeasonSeason stats sit next to the games they come from
ScoutGame › Before (opponent)You scout a particular opponent
Coach's Office › setup stepsSetup path, then Team / PlaybookSetup ends; the parts stay editable where they live
Office › Plays, Office › SignsPlaybook (Edit)One list, edited where it's read
Office › VideosOn each play in PlaybookShown where players will actually see them
Office › LookTeam › Team settingsA setting, not a setup step
Drill (coach)Playbook › "Drill this play" and Team › each player's progressCoaches look at drills more than they do them
How it works, tips, "?", tours, guideThe "?" on each page, plus Help under MoreSix kinds of help become two

One word for one thing

Today we sayWe'll sayNotes
Drill, Play, Practice, Play ball, Quick gameDrillThe address becomes /drill. "Practice" means practice plans only.
Lineup, batting order, the orderLineupThe opponent's hitters become "Their hitters".
Bench Notes, game log, NotesNotesInside 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 SkipReviewer mode becomes "Feedback mode".
Stat card, player cardPlayer cardOne card per player: the season plus recent games.
Know the signs, Read the coach, the signs quizRead the signs
Custom, Ours, Our own plays, EditedOur plays · Edited"Ours" = made by us. "Edited" = we changed a standard play.
Look, Field style, Field look, skinField lookTeam colours sit beside it in Team settings.
Team code, 8-letter code, invite link, parent linkTeam code · invite link
How it works, How-to videos, tips, toursHelpThe "?" on each page opens that page's walkthrough.
Title Case leftovers from the template ("Save Changes", "Admin Dashboard")Sentence caseEverywhere.

What goes away

The fake billing page

Settings links to template plans ("Basic $9, Pro $29, Enterprise $99", with "API access"). It goes until real club pricing exists (#515).

Coach's Office as a place

Its parts move to the setup path, Team and Playbook. /office redirects.

Duplicate scorecards and Next buttons

One setup path with one Next. Home and Office stop repeating it.

Menu items that repeat Home

The quick links on Home that duplicate the tab bar.

Dead ends

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.

Drill for DJs

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.

  1. 1
    Quick 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.
  2. 2
    The 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.
  3. 3
    Office 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.
  4. 4
    Parents and players

    My player, kid drill mode, and parent Games narrowed to their child.

  5. 5
    Today 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

1. Is the game the hub?

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.

2. Does Coach's Office go away?

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.

3. Where do games come from?

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.

4. Kid mode on a parent's phone?

"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.

5. Player accounts by age?

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.