My latest pet project at Code Team Blue was to build a math game natively in iOS using Xcode. I had never built anything in Xcode and had never written a single line of Swift. Step one was to find a solid YouTube video and dive in. The video I found was the first in a multi-part series that walked through everything from installing Xcode development tools to building the first Hello World screen and beyond. I started the old fashioned way by following the tutorial step by step, and progress was being made.

Is It Time to Use AI ?

About 30 minutes into the video, the instructor demonstrated how to use AI prompts to speed up the process. That is when I jumped into my first real vibe coding project. After a handful of prompts, I ran out of free credits and connected my paid ChatGPT account. From there, I was off and running.

Pro Tip 1 Install and Use a Repo

For those diving into the world of AI driven or prompt based coding, it is exciting to get a prototype front end app up and running in just a few hours. In my case, the app was simple with minimal logic, so the AI generated code quickly. About 30 minutes in, AI made its first mistake, and I needed to revert the changes. At that point, I immediately stopped what I was doing and put the code into a repo.

What Is a Repo?

A repo, short for repository, is a system that tracks all the changes you make to your code. It allows you to revert back to previous versions if something breaks. It also enables multiple developers to work on the same project and merge their changes together.

There can be a learning curve when starting with version control, and many new developers struggle with it. However, when AI inevitably breaks your code, you will need a reliable way to get back to a working version. Learning how to use a repo is not optional, it is essential.

A common beginner approach is to create backup folders on your computer using Finder or Explorer and manually replace the project when something goes wrong. While this can work for a solo developer in the short term, it does not scale, and it becomes messy quickly. It also completely breaks down when multiple people are working on the same project. Investing time in learning proper version control early will save you a lot of frustration.

Time to Revert My Changes

I eventually got my game app close to completion and wanted to prepare it for publishing in the Apple App Store. This requires additional components such as privacy policies and configuration settings. I asked AI to handle this step, and it failed badly. The app would not even compile.

My first attempt was to have AI undo its own changes, which did not work. After a few failed attempts, I reverted the project using my repo and restored it to a working state. From there, I was able to try again with a better approach.

Learning to Code While Vibe Coding

As an old school programmer, I was initially hesitant to rely on AI for writing code. The technology has improved dramatically over the past few years, but it is still important to understand what is happening under the hood.

Developers who understand their tech stack can now build applications much faster with AI as a tool. Those who rely entirely on AI without understanding the code will often struggle to produce stable, production ready applications. You no longer need to master every detail of a stack, but you do need a solid understanding of how it works. Otherwise, the process becomes inefficient, buggy, and frustrating.


Repo FAQ

FAQ

What is the difference between GitHub and Bitbucket?

GitHub and Bitbucket are both platforms that host Git repositories, meaning they store your code online and help you collaborate with others using version control. The core functionality is very similar, but there are some key differences. GitHub, owned by Microsoft, is the most popular and widely used platform, especially for open source projects, and it has a massive developer community along with strong integrations and tooling. Bitbucket, owned by Atlassian, is often favored by teams already using tools like Jira and Confluence, as it integrates tightly with those products and is commonly used in more enterprise or corporate environments. Historically, Bitbucket offered more flexible private repository options, while GitHub focused on public repos, though today both platforms offer unlimited private repositories. In practical terms, GitHub is usually the go to for visibility, community, and ease of use, while Bitbucket is often chosen for tighter integration with Atlassian’s project management ecosystem.

What is version control?

Version control is a system that tracks changes to your code over time. It allows you to go back to earlier versions and collaborate with others safely.

Why is version control important when using AI?

AI can generate incorrect or broken code. Version control gives you a reliable way to roll back to a working version instead of trying to manually fix everything.

What is Git ?

Git is the most widely used version control system. It runs locally on your machine and tracks changes to your files.

What is GitHub?

GitHub is a cloud platform that hosts Git repositories and makes it easy to collaborate, back up code, and manage projects.

Do I need to learn Git as a beginner?

Yes. Even basic knowledge of Git will save you time and prevent major headaches when something breaks.

Can I just back up my files instead of using Git?

You can, but it is not recommended. Manual backups are error prone, hard to manage, and do not support collaboration.


Quick Git Cheat Sheet for Beginners

Initialize a new repo
git init

Check status of your files
git status

Add files to staging
git add .

Commit your changes
git commit -m “Your message here”

Connect to a remote repo
git remote add origin your-repo-url

Push your code to GitHub
git push -u origin main

Pull latest changes
git pull

View commit history
git log

Create a new branch
git checkout -b feature-name

Switch branches
git checkout branch-name

Revert to a previous commit
git checkout commit-id

Undo last commit but keep changes
git reset –soft HEAD~1

Hard reset to last commit
git reset –hard HEAD