Building Wanderloop App

About a year ago, I went from carrying two phones, iPhone and Pixel, to carrying just the Android Pixel. But there were several apps that I missed on iOS, one of them was a location logging app. But that location logging app was poorly designed, frustrating to use, but real useful. I thought this would be a chance for me to not just make prototypes with vibecoding, but actual daily drivers.

This project started exactly one year ago, back then there were not such great AI coding agents. The first few months the code written by Gemini CLI, Antigravity and then also had contributions from Claude Code and Codex in it. Unscientific vibes check, Gemini CLI wrote the best Android code, but all models were not good at solving real Android development bugs until around April 2026.


You can feel the intelligence of the models growing by the types of bugs it could fix.

One particularly gnarly bug was regularly the Google base map would not load in the app. No matter how I killed the app and restarted, it would sometimes come up sometimes not. Throughout the first 9 months (up to June 2026), none of the models were able to fix this problem entirely. They would come up with theories on why it was happening, lock on to that hypothesis and churn out a lot of code to claim it was fixed. Gemini, Opus and GPT all had goes at this, claiming things like it was my Tailscale VPN's fault, or somehow the GMSCore cache was corrupted, etc.

It was only until Opus 5 and Fable did we finally get to the bottom of it, which was a bug in the our own code all along, there was a race condition where depending on how fast the Google Map SDK got initialized, we would accidentally set the status of the SDK as not loaded and never come back to retry or wait. Shockingly bad that all the models tried to blame the system when it was their own code.


There are other bugs that also were persistent for a while until the models got smart enough to solve it. Another one of those was the background operation of the app.

Coming from the iOS world, I know there are some instances you can run the app in the background but it is quite restricted. On Android there are restrictions, but some things like location reporting requires you to run in the background. Or at least thats how I understand it.

For the first 6 months, the app would randomly not run, and I had no idea why. But at some in April 2026, Claude Opus got smart enough where it finally figured out why I would randomly not see the app run in the background.


A few takeaways in my experience vibe coding this app from scratch:

  • Model improvements are real, having a real life code base that you can see how certain classes of bugs were just not solvable previously get solved with newer models and harnesses are real.

  • You have to be somewhat technical to look at the performance of the app, and ask questions like, "how much memory is it consuming in the background? Why is it so high?" to figure out that it architected the app in a silly way, like putting the UI code inside a background thread

  • There is no feasible way to review the code if you don't know the platform and language (which is me for Android and Kotlin.)