The same game had an Android TV build. I keep forgetting to mention that when I talk about the Flutter web mess, because the TV work did not show up in a hot-reload bug. It showed up as: this UI was drawn for a phone, and now it has to sit ten feet from a sofa.

Flutter Android TV adaptation was one of the biggest challenges on that project. Bigger than I expected when we said “it is the same app.”

It is not the same app

On a phone you tap. You hold the screen. You are close to it. On a TV you are not. The layout that looked fine in an emulator on my laptop looked small, crowded, or just wrong on a real television. Focus, what is selected, what happens when someone only has a remote — that is a different product than the touch version, even if the game rules are the same.

I am not going to invent a list of every widget we rebuilt. I remember the job as: take a Flutter game that already existed, and make it livable on Android TV without shipping a second game from scratch. That sounds reasonable in a standup. It is not reasonable in the weeks that follow.

What I would not underestimate again

If someone says “Flutter, and also TV,” I would budget the TV as its own client. Shared logic, fine. Shared screen, no.

The web rewrite — hot reload wiping game state, then moving the web client to React — was about the session surviving a refresh. The TV work was about the session being playable in a living room. Same project. Two different ways to be wrong.

I still think Flutter was the right call for the mobile side. I would not assume that means the TV build is “a few layout tweaks.”