Clubhouse surfaces: nav, squad, and the next match
Once a user could be assigned a team, the product question sharpened: where does a manager spend their first ten minutes? May’s commits answer that with surfaces rather than slogans — a side nav, squad retrieval and display, player photos, upcoming fixtures on the dashboard, recent form tabs, calendar and match routes, and a clubhouse page keyed by team id. The next-match component grew a tabbed view for next and last fixtures; “View all” affordances appeared; tooltips showed up on a collapsed sidemenu. None of that is glamorous in isolation. Together, it is the difference between a seeded database and a place that feels like a club.
What shipped in that stretch was not a finished design system. It was enough navigation and enough match context that the engine’s outputs had a human landing zone. Routing started to encode club identity (club/:id), and the dashboard stopped being a static draft and became a composition of live-ish widgets bound to team data. Inasmuch as The Dugout’s promise is browser-first management, May was the month the browser started to matter.
The tradeoff was depth versus presence. A squad list without tactics, training, or transfers is incomplete — and the commits do not pretend otherwise. The risk of building more UI chrome before more simulation systems was that the clubhouse would outpace the world model. The compensating strength was feedback: you can feel empty panels and missing routes in a way you cannot feel in a CLI test suite. That tension — UI that asks for systems the backend has not finished — would become a recurring rhythm of the project.
Paths not taken include freezing the client until every domain service existed, or shipping a single “god page” instead of routes for calendar, matches, and players. The path taken preferred navigable incompleteness: let the manager move, and let missing rooms on the corridor motivate the next backend week.
What it unlocked was a quieter summer — and, later, the recognition that returning to the project would mean upgrading the stack and writing down what still needed to be built.