
Current Vibe: Coding With an AI Sidekick
Kyle Czajkowski
May 1, 2025
Have you ever wondered how AI tools could affect the way you write code? I’ve had this exact thought for a while. I was initially hesitant to use an LLM (Large Language Model) alongside my coding process for fear of it diluting my creativity or making me overly reliant on its generated solutions. However, once I started experimenting, I found that the AI doesn’t just quickly churn out code. It helps me refine my work, allows me to constantly rubber duck, and accelerates my development. Today’s coding landscape is rapidly evolving, with tools like VS Code Copilot (now free), GitHub’s MCP server (now in public preview), AI-assisted code review tools, and CI/CD AIs redefining the way we build software. In this post, I'll share how I transitioned from my usual coding routines to a more collaborative workflow, embracing the future of ‘vibe coding’ with an AI sidekick.
Evolving My Coding Process with an LLM
My previous methods of writing code might sound familiar. When I tackle a larger problem, I like to scaffold out my files/functions with code comments. This let’s me paint a more complete picture of the problem I’m solving, and process each step to solve it at a higher level.

When using an AI to help code, I now create detailed prompts that articulate my technical requirements as well as describe the problem I’m working on. I find it important to add as much context and information as possible to help the AI narrow in on what I really need. At times, it’s like I’m explaining my thoughts to a 5 year old, except this 5 year old can understand the limitations of a single page web application. Re-thinking my prompts and crafting them like this has led to more complete, working code drafts that have gotten better over time. It’s important to note that when I have code generated for me, I spend time looking it over. I check the code for a few things: its readability, any potential bugs, anything superfluous that may have been added, and most importantly for the functionality I am actually looking for.
“I need you to act as an expert in project management, technology stack integration, and JavaScript coding. Please help me create a detailed technical and project management plan for a project that includes a React-based frontend and a Node.js API backend. The plan should incorporate best practices for integrating various public APIs and be formatted in a way that's easy to integrate into a project management tool like Notion. Provide clear steps, timelines, and considerations for both technical and project management aspects.”
A Project’s Life Cycle
Using AI to launch a new project can take many forms and start up in no time. For me, there’s a real satisfaction in just getting some code written, weather I’m crafting some beautiful user interfaces or getting an API endpoint running. However, I’ve found that an AI is only as organized as I guide it to being. Starting with my most exciting idea often leads to a disjointed project down the line. This tunnel vision gets even more pronounced when working with an AI, which doesn’t know about everything that’s in my head, such as how feature A will relate to feature B or how it impacts the user experience.
I’ve learned that the most successful way to start a new project with an AI is to have it “brainstorm” with me. This allows me to provide the things I’m looking for in a project, like interesting technologies I’d like to incorporate, where and how I want to deploy my code, what language/libraries I’m using, what my timeframe is, or how much money I’m willing to spend. Brainstorming often gives multiple project ideas, depending on how specific you were. Looking over these ideas is helpful in two ways: to rubber duck my own thoughts and to make sure the AI is on the same page with me. I’ve found that sometimes your LLM of choice may have misunderstood a technology you had as a parameter.
After I’ve brainstormed a few ideas and made sure that the agent and I are on the same page, I have it assist me in drafting a technical plan. This is a great way to keep yourself and your coding side kick on track. I then create a prompt asking for a technical plan and roadmap. The prompt guides the AI to look back at the specific things we’ve worked on up to this point that I’d like to include in the project. I also include all of the specifics that I’d like to include, edge cases, technology, user flow, dos and do nots, and anything else I have floating in my head. Asking for a few call and respond queries from it can also help narrow down the plan. Something like, “I want you to ask me any follow up questions you might have so we can add to the technical plan.” After I get the final draft from the AI I normally copy it into a Notion document where put it into a collapsable “Toggle List.” This allows me refine the technical plan while referencing what we’ve come up with so far. After taking out any gratuitous fluff and reformatting to my liking, I now have a solid document I can reference for my project with the AI’s original copy hidden below.
Tech Expertise Matters with AI
Prompting my AI partner to help me draft a technical plan brings me to my next topic: why it’s crucial to grasp best practices in technology, project organization, and coding standards. Sure, anyone can ask a chatbot to sketch out a plan, but to really harness the power of these generative tools, you need to know what works today and why. In my mind I picture the old trope: the mechanic working on the car asking an assistant for a specific-sized wrench, and then assistant coms back with a hammer instead. Understanding the underlying technologies and the way things fit together will make your vibe coding journeys more fruitful and develop faster.
Some frustrating pitfalls:
- When you tell it that I’ve already ruled out “x” edge case, occasionally it will continue to tell you to check that same edge case with different language.
- The LLM might insist that certain capabilities are available and will help solve a problem, but they might not exist in your environment. ChatGPT insisted that I could us the fs module in a Cloudflare worker, but it isn’t supported yet.
- When starting a chat where you’re trying to solve a complex issue and providing multiple examples of errors, it will continue to circle back to one example. Almost doggedly thinking of the single error you gave as the only thing that you want to solve for.
- Any AI will follow you wholeheartedly down whatever rabbit hole you find yourself getting sucked into. Even if you’ve supplied it with instructions to stay on track with a plan you’ve provided, it will happily continue to answer whatever you ask.
- Out of date knowledge. Going back to the misunderstanding technology example above, emerging technologies can cause it to try and apply other things to what you’re asking. Even if you’re able to supply the documentation to the AI, it might try and give you a solution with the wrong technology.
I was interpreting MCP as a Message Control Protocol (sometimes used in real-time systems or custom communication layers), but now I realize that's pretty vague and there are multiple MCPs out there.
To make sure I’m aligned with you:
Are you referring to the new Mastodon Content Protocol (MCP)? Or something like the Media Control Protocol, Modular Communication Protocol, or a proprietary/internal protocol?
Adding an AI Wrench to Your Kit
In the end, coding with an LLM feels less like outsourcing my brain and more like having a focused co-pilot, one that’s always ready to rubber-duck, brainstorm, or draft up a roadmap at a moment’s notice. It hasn’t replaced my toolbox or my hard-earned expertise. Instead, it’s amplified them, helping me iterate faster, catch my own blind spots, and stay organized through every phase of a project. Of course, the AI still needs a skilled human to guide it, and clear prompts, context, and a solid grasp of best practices keep us from veering into rabbit holes or chasing outdated advice. But once you hit that flow state, where your purpose and how you prompt align, you’ll see how AI can elevate your workflow without diluting your creativity. Give it a try in your favorite editor and watch how collaboration with an LLM can streamline your development process.