Rediscovering Coding in the Age of AI
How ChatGPT and No-Code Tools Reignited My Passion for Development
Introduction
My first introduction to programming was in 1976 when I was staying with my brother in London while he was working on his postgraduate thesis. One day, I accompanied him to Westfield College (then part of the University of London), where he was working on some statistical analysis. The code was written in FORTRAN, and while he was creating punch cards to run the job, I kept myself busy deciphering what the code was doing. By the end of the afternoon, I was hooked.
In 1978, while I was in the Sixth Form (equivalent to the Junior and Senior Years of High School), an announcement during Assembly caught my attention. The Head mentioned that the local Technical College was offering an 'Introduction to Programming' course for Sixth Form students, scheduled for every Wednesday afternoon for three hours. This also meant I could skip compulsory sports—a bonus I couldn't resist. My hand shot up before I even realized it.
After my A-levels, I pursued a degree in Applied Science (Computing and Economics) at what was then Wolverhampton Polytechnic. The course was very hands-on for its time, and I quickly gained experience coding in BASIC, FORTRAN, COBOL, Assembly language, machine code, some PASCAL, and a smattering of C.
Staying Connected: From Visual Basic to WordPress
I’m sharing this history to highlight that I’ve been involved with coding and computers in some capacity for nearly half a century. The last time I seriously developed applications was in the late '90s, when I built some fairly sophisticated tools using Visual Basic. Since then, my involvement with coding and development has mostly been limited to tweaking PHP, HTML, and CSS for WordPress sites and plugins.
While I could still navigate different code platforms (often with the help of Google) and tweak existing codebases, I no longer felt confident starting a project from scratch, which left me feeling somewhat disheartened.
The Shift to No-Code: Rediscovering the Joy of Building
Over the past 18 months, I’ve experimented with Airtable and Zapier quite a bit. Although I’ve created some useful tools, it didn’t feel like real programming. More recently, my interest in building AI tools led me to explore the latest generation of no-code platforms like Bubble and Adalo. Over the past nine months (since OpenAI introduced the ability to build custom GPTs), I’ve been busy creating a whole library of increasingly complex custom GPTs.
As I refined the GPT creation process, I felt a growing desire to share them with others. While it's possible to share these with other ChatGPT subscribers, I wanted to make them accessible to a broader audience, so I began researching other options. Although I hadn’t fully decided on the type of apps I wanted to build—whether web apps, sideloaded Android apps, or apps for the Apple and Android App Stores—I concluded that Bubble was a good place to start.
Navigating the Challenges of Bubble
I watched a few videos, and while Bubble initially seemed straightforward, I quickly found it clunkier than expected. I began by converting my GPT into an OpenAI Assistant and then worked on integrating it into a Bubble app via the API Connector Plugin. This process proved frustrating; it took me a while to understand Threads and Messages, and I found the Bubble interface to be very particular.
Although there are plenty of example videos on YouTube, I’ve always preferred comprehensive, easy-to-read documentation with worked examples I can follow along with. Unfortunately, many of the videos rushed through key points, and I soon grew tired of hitting rewind. After a couple of hours, I was close to a solution, but I mainly learned what not to do and what doesn’t work. Eventually, I decided to put that project on hold and start with something simpler.
Harnessing AI for Development: From Setup to Cloud Deployment
In parallel with exploring ways to build applications, I’ve been delving into Spiral Dynamics—a model that describes the development of individuals, organizations, and societies by understanding the value systems that drive them as they progress through distinct stages of development.
Given that I tend to learn by doing, I decided to see if I could build a tool for understanding and bridging diverse perspectives based on the Spiral Dynamics model.
Building with AI: My Experience with ChatGPT and Claude
It was 10:30 a.m. on a Saturday morning when I signed into ChatGPT-4, and typed the following:
I would like your help in building a web app.
ChatGPT responded with an overwhelming set of questions that showed it meant business (i.e., Purpose, Target Audience, Key Features, Technology Stack, Design and UI/UX, and Deployment).
I couldn’t really answer many of those, but I did give it a high-level overview of what I wanted the app to be able to do.
In response, it laid out a high-level approach (i.e., Define the Structure, Technology Stack, Design and UI/UX, Development Steps, and Next Steps) and asked me what I thought. Not really knowing enough to be dangerous in developing apps like this, I replied:
I like the look of that in terms of being an initial MVP. Let's go, one step at a time!
Ignoring my request to take it slowly, ChatGPT replied with a very detailed approach to: Define Data Structure and Set Up Backend API. Undaunted, I repeated my request, and this time, it gave me very detailed instructions (along with copyable code that I could paste into Terminal).
As I followed the instructions, I hit roadblocks where I wasn’t sure what to do next. However, I found that if I took a screenshot and pasted it into ChatGPT, it had enough context to guide me on the next steps. Along the way, I was able to accomplish the following relatively painlessly:
Set Up a New Node.js Project
Create the Basic Project Structure
Create Data Models
Set up the Express server
Test Endpoints
Populate Database
Integrate OpenAI API
Set Up Frontend
Expand Functionality
Build / Test Backend Functionality
Connect Frontend to Backend
Test Application
Debugging
Adding Additional Error Handling
Improve ‘Look & Feel’
At one point, I wanted to see if Anthropic’s Claude Sonnet 3.5 could do a better job of debugging and upgrading the user interface, so I asked ChatGPT the following:
Describe what I've built in a way that a developer would understand.
I was able to copy and paste ChatGPT’s response into Claude, along with the key application files, and its output really cleaned up the code, resolving a lot of errors, and made the site fully responsive.
Final Thoughts: Pivoting and Expanding the App
It was now 12:30pm, and in just two hours, I had a fully working app running in my test environment. The speed at which I could create something functional was both exhilarating and a testament to the power of modern tools like ChatGPT and Claude. As I tested the app, I realized that I wanted to pivot slightly—shifting the focus to reflect the perspectives of US political parties.
ChatGPT responded enthusiastically to this new direction, offering fresh ideas and a revised roadmap that aligned perfectly with my vision. This flexibility and adaptability are precisely why these AI-driven tools have reignited my passion for development. After decades in the field, it's exciting to discover that the journey of learning and innovation is far from over.
In my next blog post, I’ll walk you through the pivot and how ChatGPT and Claude helped me refine and deploy the app on Heroku. This is just the beginning of an incredible journey, blending years of coding experience with the new horizons opened by AI. I invite you to check out the app in its current form and share your thoughts—after all, this is just the beginning.
https://civicalign-11492427ee15.herokuapp.com/