How I Use AI to Streamline My Programming Process

As a programmer, I am always on the lookout for ways to improve my workflow. In recent years, artificial intelligence (AI) has become an increasingly popular tool in the tech world, and I have found myself using it more and more frequently to help me when developing new projects.

AI is a broad term that covers many different technologies, including machine learning (Large language models / LLM) and natural language processing (NLP). To keep things simple I will refer to the technology as AI, because that’s a fun buzzword that makes me seem cool.

Why I Like AI

The biggest factor in my use of AI is saving time. I was intrigued by the idea of using AI to code things for me, but I’ve ended up using it for all sorts. Time is a precious commodity, and anything that helps me work faster without sacrificing quality is a huge asset. Additionally, many AI tools can take care of tedious tasks or provide suggestions that are beyond what I would be able to come up with on my own.

Using ChatGPT

When starting a new project, I really enjoy coming up with the ideas and planning how the product will work - but creating the thing can be intimidating. Having a blank page and not knowing where to begin can stop things in their tracks.

With WordPress I got around this by making a starter theme that I used at the start of every project. But these days I find myself increasingly using ChatGPT and the OpenAI API.

ChatGPT is an AI-powered chatbot developed by OpenAI that can generate human-like responses based on prompts given by users. I’ve found this tool incredibly helpful when it comes to programming because it can provide me with starting points for apps or websites.

While ChatGPT doesn’t create entire applications for me, it does generate enough code for me to work from. This saves me valuable time and allows me to focus on other aspects of development.

GitHub Copilot

Another AI tool that has improved my programming is GitHub Copilot. This tool was developed in collaboration between Microsoft and OpenAI as an AI-powered coding assistant that can provide suggestions based on what you’re typing in real-time.

I first tested this tool a couple of years ago when it was still in its early stages but didn’t find it that useful. However, I recently signed up again and have been blown away by how much it’s improved. It feels like GitHub Copilot is reading my mind and regularly offers suggestions that are usable.

OpenAI API for Content and Code

In addition to ChatGPT and GitHub Copilot, I also use the OpenAI API to generate content for my websites. This works in the same way as ChatGPT, but instead of asking for code I tell it what I want to say and it generates the text for me.

Of course I still have to edit the text to make sure it’s accurate, but it saves me a lot of time and effort, and gets me past the “blank page” issue I mentioned above.

I’ve also found that the OpenAI API is great for generating lists of words or phrases that I can use in my projects. For example, I recently used ChatGPT to help me create a word search creation app. The AI-generated starting point provided the foundation for the app, which I then built finished myself. I also used the OpenAI API to generate lists of words to generate the puzzles. This saved me hours of time since I was able to create hundreds of puzzles very quickly.

Rubber Ducking

When developing, I also use ChatGPT as a rubber duck debugging tool. Rubber duck debugging involves explaining your problem out loud or in writing as if you were talking to a rubber duck. By doing this, many programmers find that they are able to identify the issue on their own without needing assistance from others.

ChatGPT works similarly: when I’m stuck on a problem or error message, typing out my thoughts as if explaining them to someone else often helps me see where the issue lies.

I also find ChatGPT is useful when I get error messages for things I don’t understand I can give the error to ChatGPT and it will often provide me with a solution - much quicker than Google or Stackoverflow.

Looking Ahead

While AI may not be perfect, it has certainly become an invaluable tool in my programming process. By using these various AI-powered tools like ChatGPT and GitHub Copilot along with the OpenAI API’s NLP tools and machine learning models, I am able to work faster and more efficiently while still maintaining a high level of quality.

I do still have to check code and content but using these tools has saved hours and made me massively more productive. Of course, I always check the code generated by AI tools and make sure it meets my standards. However, even with that extra step, using AI has saved me countless hours and headaches. I’m excited to see how AI will continue to improve and what other ways it can help me in my programming needs.

I wrote the first draft of this blog post with the API, by telling it the key points I wanted to cover. I have now spent about 15 minutes editing the text and filling in the gaps, but I am not a quick writer and feel it has saved me a good hour or so - whilst making something better than I could have made on my own.

Let me know what you think on Mastodon, or BlueSky (or Twitter X if you must).

Link to this page

Thanks for reading. I'd really appreciate it if you'd link to this page if you mention it in your newsletter or on your blog.

Related Posts

09 Nov 2023

A Manifesto for Progressive Software Development

I’ve been thinking a lot about how I develop projects and what makes my projects uniquely mine. As of November 2023, I have four sites that I am actively working on: Binary Moon, Brush Ninja, Ninja Puzzles, and WPBriefs. Despite...
26 Mar 2021

Creating a Twitter Maze Bot

I recently had the idea to make a Twitter Emoji Maze bot, so I tweeted my idea and it was suggested I write a tutorial about how I made it. So I’m going to try to write the article as...
12 Aug 2023

Learning to Enjoy Building for the Web (Again)

A few years ago, I fell out of love with building for the web. I still did it but it felt like a constant struggle to keep up with the ever-evolving technologies and complex frameworks. I always felt behind, and...
28 Oct 2023

Optimizing Code With ChatGPT

As a solo developer, I often find myself seeking ways to optimize my code without the luxury of pair programming. That’s where ChatGPT comes in handy. In this blog post, I’ll share my experience of using ChatGPT to improve the...
27 Sep 2023

Typing Practice: Introducing Typing Ninja

As a parent, I’m always on the lookout for fun and educational tools to help my 7-year-old son improve his skills. One of his current obsessions is computers, so I decided to create something specifically tailored to his interests -...
30 Jul 2023

Cracking the Code: Creating NinjaPuzzles

Ever since becoming a Dad, I have enjoyed creating paper-based games and puzzles for my son. I began with mazes, starting with hand-drawn ones and later moving on to computer-generated ones. As he got older, he became interested in Sudokus,...