Early Days of AI-Assisted Coding / SeeTheSpecs
I soft-launched a personal project of mine that I started back in January of 2023 which is an interesting time to have started a software project. I first thought of it in 2017 when I lived in Norfolk, VA and saw a 1967 Camaro parked downtown on Granby Street. I found myself circling the car as gear-heads will do and wondered what was under the hood.. a big-block, an LS variant? Without the owner in sight I would never find out but wouldn’t it be cool if that information was readily available by scanning a QR-code sticker on the back window or something?
Back then I was mostly a freelance WordPress developer and I really didn’t want to leverage that platform to build this project, I wanted it to be a legitimate, sophisticated app. Years would go by and I would join a team as a software developer working on a contract with the US State Department building a custom internal software solution on Go and Typescript with Vue. When that was over I got a full-time job as a Software Engineer that I am still at today with my current role being Site Reliability Engineer.
With some new skills, knowledge, and perspective I finally “broke ground” and built the Go backend for SeeTheSpecs which at the time I thought would be a very simple CRUD app that let users host their build details for their projects and link to them using a custom-generated QR-code that could be printed on a sticker and slapped on their vehicle. This was a bit of a slog trying to get familiar with Go again as my new job was all Typescript but ChatGPT was now publicly available and I got there.
Those first few years (2020-2021) were incredibly exciting. I remember working with ChatGPT to help me decide on repo structure, choosing between Go packages, modeling my data-structures, reviewing my code, automating migrations, choosing a front-end framework (Svelte), copying and pasting files to help me debug, manually managing context/state with .md files that I would tediously copy+paste and distill to get useful answers. Even then I was busting through blockers and breaking out of analysis paralysis at an awesome rate.
Somewhere in there Co-Pilot came along and for me it was a great timesaver. Tab completion alone was a boon. I always had syntax and patterns at the tip of my brain but that’s not ideal when you have production issues that you need to get a hot-fix out for your day job. Often enough the suggested code wasn’t exactly what I was looking for but I treated it like having a co-worker right there throwing ideas at the wall to see what stuck which nudged myself into coming up with the approach I wanted to take.
The main thing I learned in those early years was “don’t give up when AI fails, figure out how to get to the desired outcome.” I didn’t so much need to tell myself that, I really wanted it to work. It was more so family and friends that complained when ChatGPT would: give an optimistic yet inaccurate answer about some niche hobby detail, or couldn’t give specific instructions on how to rebuild an obscure 2BBL carburetor. More often than not these users knew the answer and were setting out to prove it ineffective and cited these anecdotes as proof. Fast forward to today and they are now heavy Claude Cowork or Codex users that love to discuss how they’re using it, eager to trade workflows and talk about ideas.