My Experience Writing Zone 2 Trainer for Android
Zone 2 Trainer started as a simple idea: I wanted a lightweight way to stay honest about easy aerobic work without committing to another subscription or buying another dedicated device. The app became both a fitness tool and a test case for how far modern AI coding assistants can carry a non-mobile developer.
For the last couple of months, I have been developing an Android application to enhance my endurance and recovery. Most applications on the market require an active subscription and a special device. With the current developments in AI-assisted software development, I was able to step out of my comfort zone and build an application from scratch using Android Studio, Antigravity, and Codex.
That matters to me because I am not a developer by trade. I am closer to a tinkerer who is comfortable with scripts, databases, and infrastructure than someone who spends every day building polished mobile apps. Zone 2 Trainer became a useful test of how far AI coding tools can take someone like me when the goal is a real app, not a weekend demo.
Starting With Android Studio and Gemini
Android development has come a long way since I first dabbled with it. I began with Android Studio because it was the environment I already knew. The built-in chat interface gave me enough help to write a first version with a functional, if rough, interface in a couple of days.
That first phase was all about getting the app to exist. Gemini was helpful for moving quickly through unfamiliar Android patterns, but the output still needed a lot of shaping. The app worked, but it had the feel of a prototype.
Adding Polish With Antigravity
The second phase was a mix of Android Studio and Antigravity. This is where the app started to feel more professional. The built-in skills from Antigravity were especially useful for visual polish and user experience work.
At this point, the difference was not just that the app looked better. The workflow changed. I could describe the direction I wanted, review the result, and keep tightening the interface without getting stuck on every small Android implementation detail.
Stabilizing With Codex
The third phase was stability and acceleration. This is where I added Codex to the mix and stabilized the app end to end. I improved the test coverage, chased down rough edges, and built a stronger foundation for future enhancements.
Gemini was useful, but the limits were painful. The Gemini Pro plan had strict limits, and the most time-consuming part of the work became waiting between rate-limit windows before I could finish a feature. That was extremely limiting.
I first used Codex through my ChatGPT Plus subscription. It helped with memory leaks and race conditions, but it still required a lot of waiting between sessions. After upgrading to the Pro tier, I was able to complete an entire feature set for a given session in one go. That changed the way I worked.
The biggest difference was trust. Codex understood the nuance of my prompts better than Gemini did during this project, and the code quality improved. My Crashlytics reports stopped firing alerts about race conditions and crashes after I adopted Codex as the main coding assistant.
What I Learned
The lifecycle of the app ended up falling into three phases:
- Android Studio with Gemini for the first functional version.
- Android Studio with Antigravity for polish and product feel.
- Codex for stability, test coverage, and end-to-end implementation.
This work predates my testing of Gemini 3.5, and most of Zone 2 Trainer was built using Gemini 3.1. I still plan to run 3.5 through its paces. But for this project, Codex became the tool that helped me finish the work instead of only starting it.
The larger lesson is that AI coding tools are not magic, but they are changing who can build useful software. I still had to make decisions, test the app, and care about the details. The difference is that I was able to stay in the work long enough to turn an idea into something real.

Comments