Can AI, ChatGPT/GPT4 really build applications?
In this post, I write about whether ChatGPT/GPT4 can really build applications? The intent is to discover if it can write applications for users with no coding experience.
Table of contents
I Built an Endless Runner iOS Game Using GPT-4 and No Experience - Here's What Happened
TL;DR
I'm a developer with over 10 years of experience, but I've never touched Swift or iOS development. I used GPT-4 to build a simple endless runner game using SpriteKit, and I genuinely believe that anyone can now build simple applications. Programming experience helps, but asking the right questions and having a curious mindset is key. That's my thoughts anyway, but I'd love to get your opinion. For documentation purposes, I recorded the whole application development and posted it to Youtube.
The Setup
I've worked with various languages, frameworks, and platforms, but I've never dabbled in Swift development. However, I wanted to put GPT4 to the test and this was the perfect platform for the experiment.
Armed with GPT-4 and my insatiable curiosity, I decided to try my hand at creating a simple iOS endless runner game. I asked for a few options in the beginning on what type of application we could create, and this seemed the most fun but achievable one. I had no idea what I was getting myself into, but I was determined to make it work.
Getting Started: GPT-4, Swift, SpriteKit, and Me
To get started, I needed to set up my environment. I installed Xcode, Apple's development environment for creating macOS, iOS, watchOS, and tvOS apps. I also spent a couple minutes browsing SpriteKit website, Apple's 2D game development framework.
With my environment ready and my Swift knowledge at a solid "entry" level, I fired up GPT-4 and started brainstorming ideas for my game. After deciding not to do the usual "to do list" type application, we settled on an endless runner game with a cube navigating through three columns, dodging obstacles of squares, triangles and circles along the way.
Building the Game: Communication is Key
Working with GPT-4 felt like having a conversation with a highly intelligent, slightly eccentric developer who just so happened to be an expert in Swift, SpriteKit, and iOS game development. While great most of the time, it felt like we were going around in circles trying to solve a couple of problems that we came across. When something was not working we got an alternative, and then when that didn't work, the alternative was back to the original solution.
The trick was to ask the right questions and provide enough context for GPT-4 to understand my intentions. There was a couple of times I needed to "give a hint" or ask a question that unlocked the answer. I'm still not sure if a novice programmer would've thought to ask those questions, or if GPT4 would've got the solution without being asked.
For example, instead of simply asking, "How do I create a moving background in SpriteKit?", I would provide more context:
One trick I found particularly useful was pasting in the current code I was working on, the whole page of it and then asking a question based on that code. This provided GPT-4 with even more context and allowed it to give me more targeted advice and code suggestions.
The Result: A Surprising one, we made the game!
After a couple hours of coding, debugging, and refining my endless runner game, I was finally ready to play. The game featured a simple cube navigating through three columns, dodging an array of obstacles that came at it with increasing speed.
While it may not have been the most groundbreaking game, it was a testament to the power of GPT-4 and the potential for anyone, regardless of experience, to create simple applications.
So, can anyone use GPT4 to build applications?
In theory, creating simple applications using GPT-4 is indeed possible for anyone willing to learn and experiment. Having prior programming knowledge certainly gives you an advantage, as it helps you understand the underlying concepts more easily. However, even without a strong programming background, a curious mind and a knack for asking the right questions can get you far.
That being said, diving into more complex applications with GPT-4 may present some challenges. Relying solely on GPT-4 for guidance in building intricate, feature-rich applications might lead to some roadblocks. It's important to remember that GPT-4 is an AI language model, not an omniscient developer, and there will be times when its guidance might not be the most optimal or accurate.
The future
As we look toward the future, it's not difficult to imagine a world where AI-powered tools become integral to the application development process. These tools could potentially guide developers in creating applications using best practices and even automate certain aspects of development.
In the not-so-distant future, we could see AI-driven tools capable of replicating existing applications or generating new ones based on specific requirements with minimal input from human developers. This would enable individuals with little or no programming experience to create powerful applications, ushering in a new era of innovation and accessibility.
However, it's essential to strike a balance between relying on AI and nurturing the creativity and problem-solving abilities of human developers. The ideal scenario would be a collaborative effort, where AI tools and developers work together, combining their respective strengths to create exceptional applications that push the boundaries of what's possible.
In conclusion, GPT-4 and its successors hold great potential for revolutionizing the way we approach application development. By bridging the gap between experienced developers and those just starting, these AI-driven tools could democratize the development process and empower a new generation of creators to bring their ideas to life.