Good Vibes

My Journey into Vibe Coding

That time I sat in with the band

Last week my daughter accompanied me to the grocery store.

As we pushed the cart up and down the aisles, grabbing necessities, pantry staples, and “maybe” a few snacks, she asked me where the shopping list was. She likes to cross items off the list as we collect them, and maybe draw a few doodles while we shop.

But last week, I didn’t have a piece of paper with items listed on it. Last week, I was using a list on my phone. A list that, when I checked an item, it scratched it off for me automatically.

This list was really an app, I told her.

An app that I built with Vibe Coding. And I showed her how it worked.

“Dad”, she said, “You’ve gotta sell this”.

Kids…..

Vibe Coding isn’t new, but its identity is. It was named only earlier this year.

In a now famous Tweet, Andrej Karpathy wrote about a new way to code that is simply instructing A.I. to write the real code, while the user types in regular language. He called it Vibe Coding.

Using plain language to have A.I. code = huh?

Vibe Coding = branding.

According to the Tobin South, an A.I. security researcher at the MIT Media Lab, there are two groups who will benefit from Vibe Coding, I’ll call them Pros and Rubes.

South says that -

The people most likely to benefit from vibe coding fall into two camps. One is people like Karpathy, who already have a good grasp of coding and know how to fix any errors if anything goes seriously wrong if they’re using it to build anything important; the other is absolute amateurs with little to no coding experience. 

He says, “I’d define vibe coding as having a vision that you can’t execute, but AI can”.

Boy, is he right on that….says the Rube typing this post.

I blame Dmitry Shapiro, CEO of Mindstudio for introducing this rabbit hole to climb down. While watching an engaging video on Mindstudio agent building, Dmitry showed how to build an app on Replit using Vibe Coding.

As a Rube, I find even Mindstudio’s easy-to-use agent builders challenging. (The pre-built agents are fantastic, by the way).

I was surprised that, in a very short amount of time, Shapiro was able to build a functioning app, programmed in simple, everyday language-based prompts.

Like everything A.I., there were mistakes, and back-and-forths. Kinks still needed to be worked out.

But I thought - ”Hey, even I could do this”.

If you can’t tell from the picture above, I’m of course going to link Vibe Coding with The Beach Boys. I mean, how can I not?

I must have hummed “Good Vibrations” twenty times while I instructed my app builder - in plain English no less - what I wanted to see from my Grocery List App.

The 1966 hit is considered one of the best songs ever recorded for its complexity, layering and sound technology at the time.

Interestingly enough, Wilson’s original lyrics were “I get good vibes”, but later Mike Love rewrote the lyrics to what we know today. Wilson intended the song to be included on Pet Sounds, possibly the most famous Beach Boy’s album, if not most revered album in all of rock-and-roll.

But Wilson couldn’t get the sound right. He looked to Phil Spector, who was a production role model of his.

Wilson borrowed Spector’s techniques. He even borrowed his musicians!

Wilson had a sound in his head, and the cuts during the Pet Sounds sessions weren’t matching his vision.

The song wasn’t working. The track was left off the album.

Wilson - who at this point had stopped touring with the band - dug in, set up over 18 different recording sessions, in different studios, trying to find the right tune. The Wrecking Crew - the session musicians who collaborated on many of the early Beach Boys recordings - had no idea what they were recording.

One of the bassist said, “this wasn’t your normal rock-and-roll”.

According to Tommy Morris, a noted harmonica player:

"You would sit with a music stand, blank piece of paper, and you'd wait until Brian got around to giving you your notes, because he knew exactly what he wanted. He knew every note in his head."

Eventually, Wilson got the song to where he wanted it. When the final cut was played for the band, they had no idea what song this was. They knew it was Good Vibrations, of course, but couldn't believe the complexity of the sound.

While similar but obviously quite different, Wilson vibe coded “Good Vibrations”. That’s really what a producer does. They have an idea, a vision, and know what they want the result to look like. In Vibe Code speak, Wilson is a Pro. He can fix any error he hears that doesn’t match his vision.

The producer doesn’t play every instrument, or have every note written down. Wilson, in this case, could “prompt” his musicians to change the sound. As the musicians said - THE PAPER WAS BLANK. Wilson could review the result, and then ask for it again in another way. He could then layer the sounds to get his desired result.

In many ways, expert programmers can Vibe Code as a quicker way to achieve their desired result. Prototyping is a great example of this. If a company has an idea that needs validation, a simple MVP built via Vibe Coding may bring that idea to the market faster. The test can be completed in a faction of time and cost.

Or, maybe an internal team needs an app as a tracker, but doesn’t have the budget for a new SaaS product. Vibe Coding this product might be the best solution. Whether you’re a programming expert or not, it does not matter. If you have a vision for the product, it can be produced much easier than before.

But let’s step back even further. Vibe Coding, where a person, based on a vision and a desired result leads the A.I. to achieve the desired result is the basics of Product Management.

Picture a team that, based on customer feedback, needs to bring a product to market. This could be a new SaaS product, this could be socks or a sneaker. The PM is not an expert in all things, but they have a team who collectively are. The PM lays out the vision and direction, communicates with the team, and the product gets built. There might be a stage gate process, weekly updates, semi-formal reviews, management boards, etc. Call it what you will. There are points where the PM reviews the updates, huddles with the team, makes tweaks, maybe pivots, and the project continues on.

The Vibe Coding process is the same. You don’t have to be an exert, just a clear vision.

Let’s go back to the Rube for a moment because this is where Vibe Coding can become a powerful tool. (I’m talking about myself).

Imagine you own a Michelin rated restaurant, but have no idea how to cook.

Or think about a future where your personal Waymo by $GOOG ( ▼ 0.96% ) sits in the driveway, but you have no idea how to drive.

For me - and millions more like me - this is what it’s like to build an app using Vibe Coding.

After watching Shapiro easily begin to build a new social media app, I thought - wow, I have to try this out.

I jumped on Replit. Replit is an AI driven programming platform where you can Vibe Code your way to greatness. The company’s CEO has publicly stated that his mission is to turn a billion people into program developers.

I think he may have understated the TAM.

My idea of a Grocery List App was simple, which is good if you’re starting from scratch. You want to create something simple for a couple of reasons. First, you want to achieve your goal, and the best way to do that is to have an achievable goal. Think big, yes, but execute always. Second, learning to Vibe Code, while easy, is still a learning process.

There’s always time for bigger ideas, once you learn the basics…which doesn’t take long.

Once I had the Product Requirement Doc built (this is Product Management after all), I could easily upload it into Replit, and then, through trail and error, in everyday English, work though the design, feel, UX, and performance of the app.

Again, it’s a Grocery List, we’re not launching rockets or hailing driverless cars.

I would say it took about an hour to get something workable that I could take to the store and test.

An hour…for a non-technical Rube to create a workable app. The world is moving fast.

After using the app for a couple days I had notes for updates and changes I wanted to make. I hopped back on Replit and it easily produced the updates in a matter of minutes.

Vibe Coding is a complete game changer, and it’s for everyone. If A.I. were a baseball game, the fans haven’t showed up to the stadium yet. We’re so early in how it will change everything, I feel like a VIP just logging into Replit. My prediction is that common language coding will get easier, and the apps will get more complex.

The Rubes will begin to feel like Pros, and the Pros will expand the possibilities further.

If you’d like to see the result my Vibe Coding exercise, please try my Grocery List App, (select Add More + to start building your list), head out to the store, and let me know what you think. I’d love your feedback.

Thanks again for reading my newsletter. If you’d like to get in contact with me, you can reach me via LinkedIn or at [email protected]