What I've learned after a month of vibe coding
I've built three products in one month. Here are my observations so far about where we're at with these AI code building platforms.
Hi Everyone,
It’s been almost a month since I started working with various “vibe coding” products to use AI to build applications. I’ve built three products so far ranging from straightforward and easy to fairly complex. As I mentioned in my last post, I believe we’re about to see an explosion of entrepreneurship as the tooling and process to build products is becoming commoditized.
Most of you may not know it, but long before I was a marketer, I was a software engineer. Early in my career I spent the better part of 7 years building web apps and products. After that I was a product strategist and product manager for many years, and over that timeframe built or managed the build of dozens and dozens of products. So heading into my initial “vibe coding” sessions I felt confident that I’d be able to at least put simple web products together.
What I experienced right away was that these platforms are incredible!
I live journaled my experience in a series of LinkedIn posts, listed below in chronological order. If you are interested in more of a play by play view of what my experience was, I’d encourage you to read through these, starting with post 1. Otherwise, I’ll provide a quick summary below with my experiences.
It’s worth mentioning that I’ve been using Bolt for everything I’ve pushed up to production so far. I have also tested Lovable, Replit and a little bit of v0. I consider myself tool agnostic still, but the value I’m getting out of Bolt right now would make it hard to switch.
In a future post I’ll likely put together the pros and cons of the different platforms, but for now I wanted you to know that I’m using Bolt.
Takeaway #1 - vibe coding is FUN, but come in with a strong idea
When I first started building, I was reminded frequently of why I loved building in the first place. For years I hand coded everything. Back in the early 2000s I was a co-founder of a content management startup (before Wordpress, Drupal and others came on the market) and to do anything you had to hand code it. This was before modern JS platforms were built. So creating features took weeks, and creating products took months and years.
With Bolt, I literally had a working market testable product in a matter of hours. And I started with what turned out to be my most complex product (which I have not yet launched).
I was having so much fun “coding” and building that I lost track of time, and I spent numerous late nights just building out whatever feature came to mind.
This was a great way to learn, and I’d recommend you start your exploration of these platforms with a beginner’s mindset. Just play around and have fun.
But if you’re looking to actually get something launch ready, and want to make money off of whatever you are building, save yourself a ton of time right now and really think through what you want to build.
If you don’t come in with a strong sense of feature level detail on what you want to build, you’ll end up where I did - in a bunch of dead end loops where I started to question why I was even building the thing I was building. It’s so easy to build that it’s easy to get off track quickly, and you’ll learn that it’s easy to not launch by just continuing to work on your idea. And you know how much I love validation!
My recommendation is to vibe code to play around, but then get serious about documenting what you want to build. You can do this in a document, wireframe, or even chatGPT - but document what you want, as that’ll make the hard stuff easier once you get deep into development.
Takeaway #2 - building easy stuff is easy
My first product was pretty complex, but my second was was easy. I was able to get an entire website up including a waitlist sign up form and database in a couple of hours. But once I wanted to connect email, it got tricky. More on that below.
If you’re looking to build landing pages, simple websites, even simple products, you can think in hours and days now instead of days and weeks.
If you’re looking to build a complex SaaS product or a double sided marketplace (like my first product) you’ll quickly find yourself needing to get under the hood of the code editor a bit, and that is less straightforward than building simple stuff.
Takeaway #3 - the more you put in, the more you get out
Related to Takeaway #1, I found over time that even though I had a sense of what I wanted to build, I didn’t do a good enough job in advance thinking through the features I wanted, features I did not want or that were lower value, and ended up losing hours to random stuff.
I found myself getting carried away with details inside of small features, messaging, input fields, and other low level work that I burned many hours on useless stuff.
The more you put into the early thinking around what you want to build, the faster your process will go.
For example - let’s way you are building a baseball card marketplace product. What do you need to build out to test your business hypothesis? Write down in regular english what you actually want to accomplish. For this product you’ll have a set of buyers and sellers, and maybe a buyer is also a seller, so there is some complexity in the model. The more you think through the business logic and document that, the faster you can get to a working prototype.
If you don’t think through the model what’s likely to happen is that you’ll start obsessing over details that don’t matter. I could easily see myself building a product like this and wondering how the advanced search should work, or how many payment modules to support. But those features don’t matter if we never get anyone to try the product in the first place, so focusing on ease of signup and onboarding would be a better place to start.
Takeaway #4 - email is tricky
I’ve used two different email systems and they both took time to get set up. Roughly the process looks like this:
Realize you need email (hopefully you knew in advance, because I had forgotten!)
Decide on what email platform you want to use. I tested EmailJS and Resend, and
both are good.
Sign up for the product
Build the emails you want to send by explaining to your AI tool what you need
AI builds the code
It’ll ask you for API keys, you’ll need those from the platform you choose.
You’ll need to point your domain DNS for email to the platform you choose
You’ll probably have to manually edit your code to include your API keys
You’ll then need to wire up the emails in your platform - on both sides, the AI coding platform and your email sending product that you chose
Point 7 above made me realize while typing this that you’ll also need to think about buying a domain if you’re going to go live with a real product. This is a whole separate conversation.
Takeaway #5 - refactoring is a time suck
Probably my biggest lesson learned the hard way was with my more complex product. I ended up in a situation where I had two sides of a marketplace where buyers and sellers could connect, but I needed a way to make the connection happen behind the scenes - my marketplace product is a managed product not a completely automated one. So in order to test the product, I had to create test data. I used AI to do that, but then making the connection between buyers and sellers and having a manual step in-between was very, very hard.
I ended up in situations where I knew something was wrong, but the AI said it was correct. There were many times when the AI created data for me, put it into the database, and supposedly connected it to other data, but it didn’t work.
Other times I wiped my test data to start over because it got too confusing.
And yet other times I had to manually look at the data in the database (I use Supabase) and delete or edit it manually. This is technical work.
I spent about 50% of my development time on my complex product on refactoring the codebase, testing, and doing data work, which frankly was a huge letdown after the ease of building simple products. Which leads me to the last takeaway for now.
Takeaway #6 - having a technical background is a superpower
I was talking to my wife about how these platforms work and how easy and fun they are to work with, when she mentioned that this type of work is what I’m really great at - stuff that is at the intersection of building, product management, and marketing. It’s also why this is so much fun for me. But the fact that I have a background in software engineering and product management absolutely has given me a huge advantage.
I’ve talked to a half dozen or so people who are vibe coding and when they hit snags like the ones I have with email, data work, or refactoring, they get stuck. Some have given up. I’ve been able to push through because I know enough about the underlying code to be dangerous (though not necessarily good!), and that gets me out of trouble frequently.
If you don’t have a technical background, that’s fine, you can still do amazing things. But start simple and build from there.
And what you may want to do is find a friend or peer to pair up with, and do some work together. If you are the idea person and you have an engineer friend, you could form a super powered team.
My products
Here are the products I’ve been building:
buildandgrow.ai - a program taking founders from idea to product in 8 weeks (more info below)
lifecyclelift.com - a productized service that helps you increase revenue and conversions from your email programs. This includes a fairly complex ROI calculator and other data driven components. It was super fun to build.
Market validation product - this one is on hold while I focus on 1 & 2 above.
Join the Build and Grow program waitlist
If this post has resonated with you, and you are interested in getting your own ideas into the wild, I’m offering a live-cohort program called Build and Grow starting next month.
Build and Grow is an 8 week program where you’ll go from idea to live product in market, with me as your guide. It’s part build, part grow, with the second half of the program focusing on market validation, customer acquisition, and marketing. My co-host Jen Bryan is rejoining me on this program, and I’m thrilled.
The only challenge is that we only have 10 slots, and they will sell out quickly once we open cohort. If you’d like to be in the loop when we open applications, please sign up for our waitlist on buildandgrow.ai and we’ll be in touch.
That’s it for now! If you are building something, or have any questions, just let me know.
Thanks,
Craig
For paying subscribers I’m offering early access and a discount on the Build and Grow program. If you are interested, just reply back to me and I’ll send you details.