Is ChatGPT Smart Enough to Rewrite My App in a Month? an Experiment
For 15 years, I’ve had at least one app in the App Store – some version or another of Hamster Soup, my app for superfans of the TV show Big Brother (US). I’ve worked on a lot of apps – a few my own – but there’s always been a Hamster Soup out there. It was the original and first Big Brother fan app and spawned at least a few competitors, the best of which was Pocket Big Brother. I talked to its author once, and he’s the same sort of fan of the show as me. I think all of us were superfans ourselves. Over the years, it went from a passion project to a hobby project to a playground project – I have used the many incarnations of the app to explore ideas I’m interested in.
For the first few years, it was a paid app, th
en it became ad-supported, then tip-supported. I estimate that over the first 10 years, I made about $50k after Apple’s cut, which means by App Store standards, it was actually mildly successful. Most apps don’t make enough to justify the $99/year fee. A number of massive franchises (usually games) skew the stats. We all do it for the love of creating something new.
For the last several years, it’s just been a free app, with no attempt to monetize it, mainly out of guilt because I just no longer have the time to put into it like I used to. In the early days, like that month I netted almost $14k, I was writing something like 2,000-word daily updates several days a week. I had recently graduated with a Communication degree, so not only did it help me practice my software engineering craft but also my journalism writing too. Today it is simply my software playground.
But I have even less time to create content for the app than I did only five years ago, and these days, 90 percent of the app is aggregated content from various Big Brother-focused news sources. I’ve asked permission to use a few over the years and they’ve been happy to provide access because tapping links in my app will load their site and monetized ads.
This year, with the rapid growth of Artificial Intelligence, I’m looking to automate that remaining 10 percent. But maybe not in the obvious way. I keep my apps as close to state-of-the-art as possible, with the latest version of iOS as the base SDK. Apple has announced a lot of new AI features coming in iOS 18, but because that won’t launch until the fall and Big Brother is a summer show, I’ll have to skip most of the AI features this year and base the new app on iOS 17. Interestingly, ChatGPT was more than happy to help me write an iOS 18 app after it reviewed the latest updates on Apple’s developer site. I love its ambition but pulled it back to what we can actually do.
But that doesn’t mean I can’t use AI.
This year I am running an experiment: can I rewrite my app with Artificial Intelligence as the main developer? I’ll do some of the work, but mostly will be directing it, copying the code it generates based on my specifications, and giving it feedback to keep it on task with what I need it to do.
I actually already started it about a week ago with ChatGPT 4.0, with a goal to ship whatever I have in a little over 2 weeks. The new season of Big Brother starts on July 17th, so my goal is to ship v1.0 by July 15th.
So far, I’ve coached it through writing several of the feeds, which include fetching the RSS feed and parsing out the content we want and displaying it in an infinite scrolling list view (as far back as the feed goes, anyway). Tapping on the list item will load the associated URL to the blog article in a web view. I’ve also included unit tests that verify it’s parsing correctly. I use SwiftSoup to parse feeds and HTML, which would have been my only dependency, but ChatGPT wanted to use AlamoFire as well. I haven’t used it since the old Objective-C days, so figured why not, and see how much simpler it is for writing network code compared to URLRequests.
I still haven’t got it to do a proper iPad UI yet, so for now, iPad support is TBD.
So will I hit my July 15 date with all the features I have in mind? Probably not all of them at launch, especially since I’m doing this on the weekend and in the morning for about an hour before work, while drinking coffee and eating cereal. But I’ve seen enough to know whatever I do ship with will be good enough, and then we can iterate. In other words, typical app development.
The ease with which this is progressing is compelling, exciting, and a little bit scary. With tools this capable, how much longer will software engineers be valued for their programming skills? I think we’ve got some ways to go yet, but if you’re a software engineer starting out today, learning how to get these AIs to do what you need with the least amount of fuss is going to take you far.
I think we’ll find a combination of programming skills (to check AI’s work and keep it on track) and communication skills (for effectively talking to the LLMs) will be the true killer combo for the next generation of software engineers.