Erik JermanišThis is my stance at a time. It may change in the future, because things will progress in one way or another. It will be fun to revisit this in a year or so to see what changed.
From the “serious” coding tools/agents, I tried using Claude Code, OpenCode, and GitHub Copilot in VS Code. I like Copilot the least. Its inline autocomplete can be useful at times, but if I'm writing/modifying the code manually, it usually just annoys me, and I tend to turn it off. When I want to delegate work to UI, I use the chat feature. The chat is fine, it takes up a substantial amount of your screen, and I find the file referencing implementation clunky.
Claude Code is very good, and I enjoy using it. I prefer and use the CLI version because I have a terminal open all the time anyway, so there is no need for yet another application running since I can access Claude directly in the terminal, and apart from that, I enjoy using the terminal, it makes me happy. One obvious problem with Claude Code is that the CLI implementation is lacking. It's sluggish and feels rushed, almost unfinished. I also notice that sometimes the responses tend to be slow or even worse than regular, as if they are purposely being throttled. Overall, it's a great coding tool.
OpenCode is my favourite of all three. You can use it in many ways: Zen, Black subscription, or login with a certain provider such as Copilot or OpenAI. In OpenCode, you can choose which model from which provider you want to use, unlike Claude Code, where you are obviously stuck with Claude. This is very handy if you like experimenting and finding out what works best for you. For example, I tried using Kimi K2.5 and was pleased with the results; I couldn't do that if I was using Claude Code only. Last but not least, OpenCode feels like a sturdy, well thought product with astonishing UX, and the team working are a bunch of clever people worth following. Well done, OpenCode.
For some cases, using AI is great, it almost feels like magic, but for others, it can be disappointing. For example, when I am trying to add a feature to an already good codebase with clear conventions, code style and sturdy architecture, I can get 90% or even 100% of the work done just by prompting the AI. As for the time saving component, it is not as high as you might expect. Yes, LLMs produce code much faster than me, but since I often work on critical systems, I simply have to review the output code line by line, and I must understand every little aspect of it. That still takes time.
For messy codebases (and let's not fool ourselves, there are plenty of those in the wild) or projects using non mainstream technologies, the percentage of code I can generate using LLMs fails drastically, and I sometimes find that it is even slower than getting everything done by hand.
One use case where AI really excels is prototyping. The other day, I had an idea for one codebase I am working on that I wanted to try, but I wasn't sure if it would work. Thanks to AI, I was able to build a quick prototype in 10 minutes, a task that would probably have taken me an hour to do completely by hand. I quickly found out that the idea didn't work, and I could move on in another direction. Situations like those are the ones where I don't care about code quality (in the prototype phase), so I can allow myself to quickly iterate and verify the idea. I see great potential for AI here.
With that being said, AI assisted coding, or vibe coding, or however you want to call it, definitely is a real thing and not just a passing trend. To not use AI would be a grave mistake, but so would be to fully rely on it without ever looking at the code.