Renewing Abandoned Software with an AI Agent
I recently upgraded my Pixel phone and went through the long process of signing in to all my apps and making sure all the data was moved over from the old phone. I noticed an app that monitors my downloads didn’t make it over. Some poking around showed that it was no longer in the Google Play Store. Bummer. Let’s find an alternate. Or do I?
After some googling for the app’s name, I immediately found the GitHub repository for it, several years out of date. Why use an alternate app if the current one has been fitting my needs so well? I remembered a new concept I heard recently from Simon Willison’s blog: malleable software. The idea is easily being able to modify software by its users to suit their own uses. Add a new feature here, loosen some constraints, get rid of all the unnecessary fluff that you don’t use, etc. It’s a great and liberating use of open source software, now just a lot more easily accessible when AI can do this all for you.
So I did what anyone can do: got a Codex agent to fork the repo, modernize the codebase, build it, and test it in an emulator. Who knows exactly what it did, but it bumped the Android API version to the latest, fixed a lot of deprecated code, replaced some old libraries with new ones, and successfully emulated the app against an already running remote server to test it out. I’ve never done Android development on this MacBook before, so the agent just figured it all out itself. I slapped it in a /goal just so Codex would keep looping on the problem if needed.
1.5 hours later, the agent finished and I had a fully up-to-date application, with commits pushed to my fork, and an APK file that I could install on my phone. It’s that quick and easy now.