Building with AI
For a long time, I have always viewed AI as a tool for creative uses. Due to how LLMs currently work, that is kind of true. Last time I tried to use AI was when GPT-4 was released, and to be frank it was very disappointing. I couldn’t even trust the model with small fixes or just pragmatic labour. I came, I saw, I left.
Recently, I’ve been hearing that models have gotten really good at coding. I was planning to build some embedded displays for my car to display different stats. I was pretty familiar with IOT stuff, but I had a big task. Reverse engineering the OBD connector.
The first AI-aided project
This was about the time when Muse Spark 1.2 was released and was freely available on OpenCode. I thought let’s give that a go, because I couldn’t justify even the $20/month subscription from either OpenAI or Anthropic. At first, I approached it wrong. I gave it the task and asked it to reverse engineer the OBD bluetooth connector. It is some obscure OBD ELM327 bluetooth connector, so no docs were freely available.
It was a bad idea. I just went back and forth with the model, it writing code and me testing it. This went on for like 2-3 hours and at some point I decided to do another approach. Let’s help it out a little bit. So I started investigating on my own, asking the model what progress it had made and what is confirmed. After investigating myself a little bit I have found the issue that it kept encountering and even realised that it missed a letter in the MAC address of the OBD connector. After I had enough confidence in how the OBD connector actually worked, I told the AI to build a prototype code so we can test connection, read and writes via bluetooth.
And it worked! By steering the model along the way, I managed to build a small mod for my car that now people are impressed by when they enter my car. At this point I was impressed. AI has really improved in recent years and it could really help me build stuff a lot faster than I could myself.
When building my projects, I like to make my projects scalable, type-safe and future proof. This takes time, effort and a lot of thinking and planning. And I thought this is exactly where AI could help me. I plan, write approaches, steering and everything and the AI is the workhorse. So I was compelled to buy a Claude Pro subscription.
Today
And this is where we stand today. Recent Opus 5.5 and Sonnet 5.5 releases have really impressed me with their capabilities, but most of the time I don’t even use Opus 5.5. I just use Sonnet 5.5 on High effort and that’s enough for me. My planning, steering and guidance is precise and thorough enough that there’s almost never room for mistakes. I instruct Sonnet to not go on it’s own, to ask me and act like I’m it’s advisor. And most of my projects have seen this improvement. I even gave up Vim and went back to my old pal VSCode. Vim is great for writing, but now I need a better interface to read more code.
I even tried “vibe-coding” an app. Claudiu is a simple Claude Code wrapper that doesn’t eat all my ram and runs fast and lean. This app was entirely done with AI, planning and writing, all with Sonnet 5.5 High. Of course, I reviewed all the code and found some really interesting bugs along the way which also taught me more about how Rust works. But, at this point, I don’t really know if it’s called “vibe-coding” if you actually understand the code that the AI outputs.
Final thoughts
This was really conflicting for me. I was always the one guy who rejected AI. But now, I have found it’s use. It’s great for thinking and implementing. It’s just like a sidekick. And that’s how I think AI should be used. I am still oposed to using AI to research stuff, designing, planning and other tasks. AI should be used for cumbersome tasks, not fun ones.