Dark Mode in an Hour
We have been spending the last couple of days doing a significant style overhaul of the Fliva app. Flutter, targeting iOS and Android. No dedicated app developer anymore - I took that over as CTO, primarily using Claude Code as my agent.
The process has been iterative. Our Product Owner (who doubles as our design wizard) would come up with ideas, mock things up, annotate screenshots with better color choices, shadows, padding tweaks. I would translate that into a technical spec and hand it to Claude Code. Then mostly sit back and wait.
Over a couple of days we got a tighter, cleaner UI. Better typography, better spacing, better everything. A lot of small things that individually are nothing, but together make the app feel noticeably more polished. All tested on real devices.
Then we decided to do dark mode.
I opened plan mode, described what I wanted: a setting on the Profile page, three options - Light (default), Dark, and System. The last one should respond dynamically to whatever the OS is set to. I wanted Claude Code to understand the full scope before touching a single file.
It took about an hour. It went through the entire app, widget by widget, theming everything correctly. When it was done, I tested it.
Almost perfect. There were a few labels where the text color and background color were too close - technically correct in the theme, but unreadable in practice. I flagged those, it fixed them. One iteration.
Then our design guy went through it, sent annotated screenshots with better color choices for the dark palette - shadows, blur values, a few accent colors. Claude Code went through all of them in about ten minutes. One more iteration.
That was it. Dark mode shipped.
I keep thinking about what that would have looked like before. Hunting down every hardcoded color value. Making sure every widget respected the theme properly. Testing every screen in both modes. Days of work, minimum - and that is assuming you catch everything on the first pass. Our Product Owner put it best: “This would have taken months just a year ago.”
We caught the issues too, of course. But fixing them was fast, because the foundation was solid. The agent had actually understood what dark mode means for a Flutter app, not just swapped a few hex values.
There is still plenty I have to do manually. Edge cases, product decisions, testing on real hardware. But the heavy lifting? Claude Code handles that now. The workflow is genuinely different, in a good way.
We have a bunch of other features ready to ship from the same sprint. But dark mode is the one that still surprises me a little. One shot, basically.