Pulso, my watch-collection app, has been iOS and web for months. This week it got a third platform, and the actual spec surprised me: Android didn’t need to exist, it needed to agree.
Five tabs, one set of decisions already made. Watches, Shortlist, Wear, Roadmap and Insights all had to read the same live API as iOS and reach the same conclusions iOS already reached, months ago, about what each screen shows. Roadmap’s owned state is a gold ring and a tick, not the word OWNED, because that’s what iOS decided. Watch of the Day nominates one watch with its progress bar, not a ranked list of five, for the same reason. Building Android meant going back to iOS’s own choices as the source of truth, not redesigning from a blank canvas, which is a slower and less satisfying way to build a second platform than it sounds.
Most of the real bugs were disagreements, not crashes. Android’s Watch of the Day sorted never-worn watches last; iOS sorts them first, so the two apps would have recommended different watches to the same person on the same day. A shadow bled through a 0.5-alpha fill on the shortlist tiles, because Material’s default elevation shadow doesn’t know it’s sitting under a translucent panel. The sign-in screen shipped, briefly, with invented tagline copy instead of the real line: "wound, worn and watched." None of these three break anything. All three would have quietly shipped a second product that disagreed with the first about what it is, which is a worse failure than a crash, because nobody files a bug report for it.
Shortlist got the deepest treatment, because it’s the screen people decide from. It now has a list view with price sparklines, which was iOS’s default and Android’s day-one gap; sort by Added, Price or Desire with a direction toggle; and a compare mode for up to three watches side by side. This is where someone stands between two watches and decides, so it earned more attention than any other screen in the app.
What this means if you’re building the same thing twice. The temptation on a second platform is to treat it as a fresh design pass, since you already know the product and could improve on version one while you’re in there. Resist it. A second platform that quietly disagrees with the first erodes trust faster than a second platform that’s merely plain, because a plain app reads as a smaller team; a disagreeing app reads as a broken one.
What’s not done: everything above has only run in the emulator. A Pixel 9 virtual device gets you sign-in, live data and every screen rendering, but it doesn’t tell you what the app actually feels like in someone’s hand. That’s the next real test, not this one.