Where does a manager spend their first ten minutes?

milestone origins, client, clubhouse

Once a user could be handed a team, a much more awkward question showed up: where does that person spend their first ten minutes?

You can't answer that with an API. I know, because I tried to convince myself the API was the answer for about a week. A manager doesn't open a database. They open a page, and either it feels like their club or it doesn't.

So May is surfaces. A side nav. Squad retrieval and then squad display, which are two different jobs however much they sound like one. Player photos, because a list of names is a spreadsheet and a list of faces is a squad. Upcoming fixtures on the dashboard. Recent form as tabs. Calendar and match routes. A clubhouse page keyed by team id, so the URL knows which club you are. The next-match component grew a tabbed view for the next game and the last one. "View all" links appeared where lists were obviously truncated. Tooltips turned up on the collapsed sidemenu, because I collapsed it once and immediately couldn't tell what any of the icons meant.

None of that is glamorous on its own. Together it's the difference between a seeded database and somewhere that feels like a club.

The tension in that month — and it hasn't gone away, honestly — is depth against presence. A squad list with no tactics, no training and no transfers is plainly unfinished, and the risk of building rooms faster than systems is that the clubhouse writes cheques the world model can't cash. What I got in exchange was feedback I couldn't get any other way. You can feel an empty panel. You can click a nav item that goes nowhere and be annoyed by it. A CLI test suite has never once made me annoyed.

I didn't want a single god page either, so the corridor came first: calendar, matches, players, all navigable, several of them thin. Let the manager move around, and let the missing rooms decide what the backend does next.

That worked, right up until the point I stopped opening the repo at all.

← All entries