← All posts
workflow

How I vibe code

· 6 min read

Where we began

I think it was around 2022, when the first ChatGPT came out. Everyone was so excited about it, while I was just like “it’s just a chatbot, nothing fancy!”. Where I was coming from were the markov chain chatbots that were so prevalent back in the 2010’s. Asking the chatgpt UI some simple questions was all I did. There were no LLM tools, no agentic, basically nothing. So I took a look, and turned away.

Fast forward a little bit to 2023, some of my classmates during my masters program was using it to generate code! Real code! I was pleasantly surprised, as the code their AI wrote was like 80% of the way there! This was a project to write an encrypted filesystem — and anyone that has written one before will know the oddness of integrating with OpenSSL between different versions. So at this point, I realied the power it can bring in just quickly templating my code for me, and letting me figure out the complex parts such as integration & logic.

Copy pasting code

After my classmates showed me their generated code, I started playing around with it too! I would generate a bunch of lines of code in the chat window, and paste it into my IDE! This was obsolutely awesome! Quickly, I surrendered more and more of the quick functions I would do (tail recursion, graph-search, ect.) to the AI. They weren’t 100% of the time correct, but their mistakes were usually minor enough that I could just fix a few lines and be done with it! This was miles ahead of writing function templates and filling in the dots. This was — context aware!

Autocomplete code

Inline suggestions from GitHub Copilot in VS Code

Around this time, a new feature was starting to emerge called autosuggestions. Autosuggestions paired with some reasoning back and forth with an LLM meant that I could write code way faster! I just pressed tab autocomplete and it was done. I was still kind of unhappy my job / fun was being taken away, but at least it got what I needed to done! Anyone that has used ZSH + Autocomplete + Syntax Highlighting knows what it feels like — familiar and l337.

Agentic

A few months later, in early 2025, agents really started taking off. Agent coding, RAG, all these kinds AI assisted coding tools starting becoming really integrated. Before 2025, I dabbled in things like cursor. But going to another editor to vibe code felt a bit off (I do understand the limitations with Microsoft locking down vscode so much that the cursor team had to do what they did).

My first real tool I used for agent development was Github Copilot. The extension worked seamlessly into VSCode and the agent would read and edit my code. There were some obvious bugs, and sometimes it continuously edit the same file with the same code. But overall, it was OK for my use case. No more having to switch between both a chat prompt on the web and my IDE. I would still review all the lines generated and accept their changes; but no more writing actual code anymore. This was a turning point.

CLI Agents

Now it’s 2026. Even andrej karpathy — who still wrote many things by hand just a few months ago, has fully embraced AI. Github Copilor CLI just came out. Opencode is awesome. Claude code is dominating the vibe coding market. I’ve also fully transitioned basically into the CLI. Before, with agentic coding, I would make a prompt, watch the AI fix my files, and accept each edit on each individual file. However, now I would review the code if I felt like it. I still don’t let the AI do commits for me since I would like to see the diff of the entire session before it gets committed. But I find that the CLI approach is way faster.

I still keep my Github copilot subscription, as that’s been so useful especially with the integration to Github itself. I prompt the AI on my CLI, get it to do work and commit to my branch. Github copilot has a feature to review pull requests for me as well — and surprisingly, it works insanely well! I use claude code when my tokens expire or I get rate-limited by copilot. Opencode sometimes when I feel like it. All in all, my workflow now has transitioned from being a in-the-weeds coder to being an overseer of agents coding / reviewing / doing the full SDLC for me!

Time to time, I do find myself looking up the latest documentation to fix things that the AI missed. Just recently, integrating fastMCP into GraphQLer — the AI kept referring to old documentation and messing up. Things like these will be fixed over time, especially as models get trained on more recent data. Agentic grep & tooling will bridge the gap between training data and any new ones coming in.

My terminal vibe coding

Final thoughts on the outlook of software development

So, obviously I’m bullish on agentic coding. I do still believe that at the current state, we need more software developers than ever before. Especially good ones. Why? Because now that AI is producing so much code (slop), we as humans need to be even better at reviewing, debugging, and guiding. Our role goes from a developer to more of a mentor / overseer of these agents. Just recently, AWS required all AI-generated code to be reviewed by senior engineers due to ongoing outages caused by bad code. More and more junior engineers rely super heavily on AI, while not actually understanding the “why” or even the “what” is being solved, just the “how”.

As development transitions, coding by hand becomes a more original process. Just like a blacksmith’s craft — sure it can be done in a factory end-to-end, but there’s a certain form of art in seeing through the project.