My Codex usage cap has reset, so it's time for another big porting project. This time, replacing my crummy old Android version of Lights Off with a version that matches the modern iOS app 1:1.

Whenever it goes astray, I tell it to look back at the iOS code and make things look / layout exactly like that

And with an evening of prompting, I have got a complete port of the modern version of Lights Off on Android, in Java/XML, complete with responsive layout, themes, settings, animation, sound and more, using the latest iOS codebase as a reference. It matches the version on iPhone and iPad almost down to the last pixel. I haven't touched a line of code manually (except for the original Swift code), and Codex 5.3 did all the work. It completely replaces the old Android version I wrote a decade ago
It is really hard to design a beautiful modern Android app, because no two apps on the system look the same, and there are no good references from Google, at all. And if a human won't have a clue, an LLM certainly won't know what to do either. The freaking Clock and Recorder apps are the best examples I can draw from
Codex is trying its hardest, though
OK, I've done my research, I've pointed it at the APIs and styles I want, and I've painstakingly guided it through the process, so this is my best attempt at a Material Design 'settings' view for Lights Off on Android
And here are the screens in picture form. I used the recommended MDL3 Expressive styles from the design docs, I checked as many system apps as I could for reference, it uses the inherited system theme colors as appropriate, and on foldables it expands out into a navigation rail view
I don't think I have anything more to add to this project. It's a complete one-to-one recreation of the entire iOS version of Lights Off, every feature and corner of the app intact, with native Material Design 3 Expressive UI, and full support for phones, foldables and tablets. It is absolutely leagues better than the previous version of Lights Off I wrote for Android back in the early 2010s, and I haven't touched a line of code myself. I need to redo the app icon by hand, but it's ready to ship
@stroughtonsmith You‘ve said it before: RIP cross platform frameworks. From now on everyone should just build the perfect iOS app and then let AI port it to Android. I‘m in shock.
@stroughtonsmith Also good riddance maybe? The experience with any cross platform built app hasn‘t been great on any platform in the first place.
@albrecht @stroughtonsmith Actually I've managed to make something good with Expo and that's a cross platform framework, even got IOS native tabs working and back buttons and headings like a Swift app has. I don't have a mac so that's the only way I can develop for IOS lol.