Back to articles

Vibe Coding Changed How I Ship Side Projects

March 2026·Vibe CodingAISide ProjectsProductivity

The Origin Story: How I Accidentally Became a Vibe Coder

OK so let me be real with you. At the beginning of 2025 I had like two side projects on the App Store. By the end of 2025 I had eight. And now in early 2026 I'm losing count. What changed? It wasn't that I suddenly became 10x more productive or stopped needing sleep. It was that I started what people are now calling "vibe coding" — and it completely changed my relationship with side projects.

For those not familiar, "vibe coding" is a term Andrej Karpathy coined. The idea is simple: you describe what you want to build to an AI, it writes the code, you look at the result, you give feedback, it iterates. You're not writing code in the traditional sense — you're directing the vibe. You're the product manager, the architect, and the QA engineer, but the AI is the one typing.

I was skeptical at first. Like extremely skeptical. I have a CS degree from UIUC, a master's from CMU, I've worked at Apple and VMware. Writing code is literally my thing. Why would I outsource it to a robot? But then I tried it for a weekend project and... OK let me tell you what happened.

The Weekend That Converted Me

I wanted to build a simple car lease calculator iOS app. Nothing fancy — just inputs for price, down payment, residual value, money factor, and it shows you the monthly payment. The kind of thing that would take me maybe a full day to build properly in SwiftUI with nice animations and everything.

Instead, I opened Claude and described what I wanted. First draft came back in like 30 seconds. It was... 80% there? The layout was reasonable, the math was correct, but the styling was kind of ugly and the input validation had edge cases. So I said "make it look more modern, add haptic feedback on calculate, and handle the case where money factor is zero." Another 30 seconds. Now it was 95% there.

Total time from zero to App Store submission: about 4 hours. And honestly, 3 of those hours were App Store screenshots and metadata, not code. The actual coding part took maybe 45 minutes of back-and-forth.

That's when I realized: for side projects, the bottleneck was never the coding. It was the activation energy. When building a side project means spending a whole weekend writing boilerplate, you do the cost-benefit analysis and think "eh, not worth it." But when building a side project means spending 45 minutes describing what you want? Suddenly every shower thought becomes a viable project.

What I Shipped with Vibe Coding

Let me give you the highlight reel of what I built in a few months:

  • Kubernetes Flashcards — An iOS app to study K8s concepts. This one was pure vibe coding — I literally said "I want a flashcard app for Kubernetes concepts with spaced repetition and a clean dark UI" and iterated from there. Took maybe 3 sessions of 1-2 hours each.
  • Wiki Map — iOS app to explore Wikipedia articles on a map. This was more complex because MapKit integration has a lot of gotchas, but the AI handled like 70% of the MapKit code correctly on first try. The remaining 30% was me saying "no, the annotation clustering is wrong, here's what Apple's docs say" and the AI fixing it.
  • Which Next? — An app that finds nearby spots and randomly picks one with a lottery animation. This one was fun because the animation part required actual creative direction. The AI gave me a spinning wheel animation that was technically correct but felt lifeless. I had to describe the "vibe" I wanted — bouncy, playful, with confetti — and iterate several times.
  • CSS Complexity Analyzer — A React web app. This was interesting because I actually pair-coded this one — I wrote the CSS parsing logic myself (because I had specific ideas about the complexity scoring algorithm) and let the AI handle all the visualization and UI code.
  • Wiki Knowledge Map — A full-stack app with Mapbox integration. The AI actually suggested using Mapbox instead of Google Maps because the free tier is more generous. Good vibe, good advice.

The Honest Truth: When Vibe Coding Breaks Down

OK it's not all sunshine and rainbows. Let me be honest about where vibe coding absolutely does not work, at least for me.

Complex state management: Anything with complex state transitions — like the flashcard app's spaced repetition algorithm — I ended up rewriting by hand. The AI kept getting subtle bugs where the next review interval was calculated wrong. These are the kind of bugs that pass a vibe check but fail in production after 2 weeks of usage. You look at the code and think "yeah that looks right" but the edge case where interval overlaps with a reset is wrong. I wouldn't have caught this without actually understanding the algorithm.

Performance-critical code: For the Wiki Map app, the initial AI-generated code for loading and displaying thousands of Wikipedia markers was catastrophically slow. Like, 5-second-freeze-on- scroll slow. The AI's instinct was to load all markers at once. I had to think about viewport-based loading, clustering, and debouncing myself. The AI could implement my solution once I described it, but it couldn't diagnose the performance problem on its own.

Platform-specific gotchas: Apple's APIs have so many undocumented behaviors and iOS-version-specific quirks. The AI writes code that compiles and looks correct but doesn't account for things like the keyboard avoiding view behaving differently on iPhone SE vs iPhone 15 Pro Max. You still need to actually test on real devices, and when things break, you need to understand the platform deeply enough to debug.

Architecture decisions: For my hackathon project (GPU Cost Optimizer), the AI was great at generating individual components but terrible at overall architecture. It would happily create a monolithic 500-line file if I let it. I had to be the one saying "no, split this into a service layer and a presentation layer" and "this should be a separate API endpoint." The architectural taste still has to come from you.

The Mental Model Shift

Here's the thing that took me a while to articulate. Vibe coding doesn't replace engineering skills — it changes what skills are bottleneck.

Before vibe coding, the bottleneck skills were:

  • Typing speed and syntax knowledge (boring but real)
  • Memorizing API signatures and boilerplate patterns
  • Writing CRUD code and wiring up UI components

After vibe coding, the bottleneck skills are:

  • Knowing what to build and why (product sense)
  • Evaluating AI output quickly (code review speed)
  • Debugging complex issues the AI can't see (deep expertise)
  • Architecture and system design (the AI won't do this for you)
  • Communicating precisely what you want (prompt engineering, basically)

This is actually great for senior engineers. All those years of experience don't become useless — they become more valuable because now you're the quality gate. You can look at AI-generated code and immediately spot the N+1 query, the missing error handling, the race condition. Junior engineers might not catch these, which is why I think "vibe coding replaces engineers" is wrong. It amplifies what you already know.

But it also means if you can't code at all, vibe coding is dangerous. You'll ship things that look right but have subtle bugs, security issues, or performance problems that you can't detect. It's like being given a race car without knowing how to drive — you'll go fast, but probably into a wall.

My Workflow Now

After shipping all these projects, I've settled into a workflow that works for me:

  1. Architecture first, always by hand. I sketch out the components, data flow, and key interfaces on paper or in a markdown file. This is the thinking part and I don't trust AI with it for anything non-trivial.
  2. Scaffold with AI. Once I know the architecture, I let the AI generate the initial file structure, boilerplate, and basic UI. This is where vibe coding shines — going from nothing to something in minutes.
  3. Core logic by hand (usually). For algorithms, data transformations, and business logic, I often write it myself. Not because AI can't, but because I want to deeply understand this code since I'll be debugging it later.
  4. UI/UX iteration with AI. "Make the animation bouncier," "add a subtle gradient to the header," "make this responsive for iPad." This is where vibe coding is unbeatable. Design iteration that would take me hours takes minutes.
  5. Testing and debugging: hybrid. AI writes the test boilerplate, I design the test cases. When tests fail, I debug the important ones myself and let AI fix the obvious ones.

The Surprising Side Effect: I Build More and Better

The thing nobody talks about with vibe coding is what it does to your ambition. When every project idea is "easy" to start, you start thinking bigger. Before, I'd have an idea and think "that would take a month, not worth it for a side project." Now I think "let me spike this out in an evening and see if the concept works."

This has made me a better product thinker. I prototype more ideas, which means I get more data on what's actually useful vs what just sounds cool. My Kubernetes Flashcards app? I honestly thought it was a throw-away experiment but it's the one that gets the most consistent downloads. I never would have built it without vibe coding because it seemed "too simple to be worth building." Turns out simple and useful beats complex and impressive every time.

Also — and this is maybe controversial — vibe coding has actually improved my traditional coding skills. When you're reviewing AI-generated code all day, you develop a really sharp eye for code smells and patterns. You start noticing things like "oh, the AI always generates this anti-pattern in React hooks, I should be watching for that in my own code too." It's like being a code reviewer full-time, which is one of the fastest ways to level up as an engineer.

Hot Takes for 2026

OK let me end with some spicy predictions:

  1. Side projects are the new resume. When everyone can vibe-code a basic app, what differentiates you is having shipped 10 polished things vs 0. The barrier to entry is gone, which means the competition shifts to taste, polish, and actually solving real problems.
  2. The best vibe coders will be senior engineers, not beginners. Counterintuitive, but the more you know about software engineering, the better you can direct the AI and catch its mistakes. A senior engineer vibe-coding is like a senior architect directing a junior developer — the output quality depends on the director's knowledge.
  3. "I built this without writing code" will stop being impressive. In 2024 it was a flex. In 2026 it's expected. What's impressive now is shipping something that's reliable, performant, and actually has users. The tool doesn't matter, the output does.
  4. Understanding fundamentals becomes MORE important, not less. When you can generate any code instantly, the differentiator is knowing which code to generate. Data structures, algorithms, system design, networking, OS concepts — this stuff matters more than ever because it's what lets you evaluate and direct AI-generated code effectively.

So Should You Start Vibe Coding?

Yes, but responsibly. If you're an experienced engineer, try it on your next side project. You'll be surprised how fast you can go. Use your expertise to keep the AI honest, review everything carefully, and don't skip the architecture thinking just because the AI can generate code fast.

If you're a student or early in your career, vibe code for prototyping and exploration, but make sure you can also build things from scratch. You need to understand what the AI is generating, not just accept it. Read the code, understand why it works, and learn from the patterns. Think of AI as a senior engineer who pair-programs with you, not a magic black box that does your homework.

And if you're not technical at all and thinking about vibe coding your startup? Be careful. You can build a demo, but shipping a reliable product to real users requires engineering judgment that the AI doesn't have. Find a technical co-founder or at least a technical advisor who can review what the AI builds for you.

The future of software engineering isn't "AI replaces engineers." It's "engineers who use AI effectively replace engineers who don't." And the best way to use AI effectively is to actually know your craft. The vibes are better when you understand the fundamentals.

Now excuse me, I have three more app ideas from this morning's shower that I need to go vibe-code into existence.