I Forgot to Use AI On My Latest Project


I forgot to use AI on my last project. All the tech bros are laughing at me right now. I’m sure in the time I wasted I could have launched a cloud-based passive-income app, but now I’ll just have fun staying poor. I’ll cry myself to sleep right after I get the satisfaction of learning something new and building something with my own mind.

Building something new just like everything else

I finally decided that I should have a blog. Yes, here we are in 2025, approximately 20 years after the blog craze started and about 10 years after it ended. What better time to start a blog than in an era when content is the most plentiful and simultaneously harder to find and discover?

It’s a perfect time because it’s a perfect time for me.

I’ve spent the last two decades mostly working in corporate tech. All my energy and productivity has been directed into those corporations. I’ve written so many detailed design docs, posted many impassioned Slack memos, carefully hand-crafted status reports.

But guess what? No one really cared. A few years later they were lost in the depths of Google Drive or the Slack archives, waiting for some new employee to stumble upon them when desperately searching for an answer to how things got the way they are. Did they really reach anyone? Did they ever really affect anyone? I would like to think so, but they never had a life of their own. They were never durable, they never lasted.

I have a lot more creative energy now that I’ve left my corporate life behind. It’s energy I can start directing out into the world instead of inward towards an organization. I’m going to start creating things that I think are meaningful. They will be meaningful to me and hopefully someone else can get some value from them as well.

How to build a blog in 2025

I’m sure the best answer for 99% of people starting a blog is to throw up a Medium or Substack page. I like to do things differently.

I like to really understand and own my tools. This gives me a greater level of control, but really it just brings me joy. There’s a pride that I can take in carefully crafting my solution. There’s a joy to understanding all the choices that went into it. Sure, I could take a template off the shelf and slap it on an existing solution. It would probably be good enough, but I wouldn’t know a single thing about it. Why did they choose that font or margins? Why does it load data in this way or that? Why is it so slow?

It’s been a while since I did any heavy front-end work. I’ve spent the last year or so doing back-end work in Rust, so I’m a little rusty on my CSS flex-box and grid syntax. It was time to get back to my roots and get online.

I’ve heard some good things about Astro, so I decided to give that one try. I also have to figure out if this Tailwind thing is worth it. I’ll also have to remember a bunch of HTML, CSS, and some TypeScript.

Time to Learn

So now I’m ready to sit down and get this started. I could set up an agentic LLM and ask it to set it up for me. I could ask it to explain what it’s doing. I could ask it to help me think through my decisions.

Or I could just RTFM.

Or I could just start building things.

So that’s what I did. I didn’t even reach for the AI.

I wanted to understand what I was doing. That meant I wanted to have documentation open, I wanted to read a few examples, but most of all I wanted to play with it. I understand things best when I can manipulate them with my own two hands. (My own keyboard? Editor? You get the idea.)

So I sit down and I try a few things. I load it up in my browser. I try a few other things. I play with it. I get something working, but maybe that’s not the best. Let’s see if another way works too. I build and iterate. It’s like a potter shaping clay. There’s a feedback where I can shape the code and see the outcome and try something else. It’s putty in my hands. I even looked at some of the source code because I wanted to understand exactly what was going on under the hood.

Play = Learning

I had a lot of fun. I could have had something published faster if I stuck to some common templates and used an AI to generate the code for me, but I wouldn’t have enjoyed it. I wouldn’t have learned. I wouldn’t know anything new.

Now I’m equipped so that the next one I build will be even better. When something breaks I’ll know why and I’ll know exactly how to fix it. I understand the code much more deeply than if something had generated it for me. I have a mental model of how all the little pieces fit together.

That’s something the AI can’t give me. LLMs are inherently conservative and reinforcing. They are built to tell you the most likely next thing given what you told them before. They are built to agree with you and continue your line of thought, not challenge it.

The only way to really learn is to try things. It requires failing. It requires playing with it, poking it and seeing which combination of blocks falls over and which stays standing. You’ll never build an intuition if you don’t build it yourself.

My goal was never something an LLM could help me with, and that means I wasn’t missing out on anything.