You Know the Vibes...Or Do You?
Vibe coding and tools like Lovable are all the rage right now. I went and decided to build an app, and I've got some thoughts. I mean if anyone knows lovability......it's me. Because I'm very lovable.
If You’re Not in Tech, Read This First
Most people in tech are familiar with some of the background here, but I’ll add a bit more context for my non-technology people before we jump into it.
Today we are going to talk Vibe Coding. The next section is going to get into what that is, but before we do let’s take a step back.
What is coding? Coding is the practice of developing software. There are multiple different coding languages, but at the end of the day they are all leveraged to build basically any piece of software you use. That means any website, any app on your phone, any accounting software you use at work, or basically anything you use once you turn on your computer. I think pretty much everyone knows that but bear with me.
Now in a tech company, people who build software write code. They are generally referred to as developers or software engineers. Some specialize in different types of programming languages or in specific components of software. Again, pretty sure this isn’t new to any of you.
But how do these software developers know what to build? Well, and this is a broad generalization, they usually don’t. They have to be told what to build. And the people who tell them what to build in a reasonably sized company generally have the word “Product” in their name. They can be Product Owners, Product Managers, Product Marketers and so on. Now there are some exceptions to this rule. Product people by and large let developers know what they need to build when there are going to be people (i.e. customers) using that software. There is also some real nerd shit that happens behind the scenes, and usually that’s designed and built by software engineers, who need far less input on what needs to be built.
So, historically, if you wanted to build a startup, you were either a software engineer who was also really good at understanding what your customer wants and what your product should do, or you were paired with a co-founder who was good at understanding those things. Alternatively, if you were a founder who was not technical, you would go hire a bunch of software people to build what you wanted.
The benefit? Well think about this in terms of a renovation at home. You can show a really great tiler some pictures and some colors, provide the tile samples and they can bang out some really great work. You know what you want, and you can easily visualize this to the tiler. But if you were to try and do the tiling yourself, it would be a) not great detailed work and b) probably wouldn’t look like the pictures.
The drawbacks? Well, it’s really hard in the software world to explain or show to a developer what you want, and most developers, even excellent ones, tend to take guidance extremely literally. So they will build the letter of what you asked for, and often have tunnel vision when it comes to the spirit of your request. Many of my developer colleagues will reject this notion and say the problem is people like me don’t know what we want until we see what we don’t want, and that would also be pretty accurate, except for the fact that I’m writing this and they aren’t.
So the rise of vibe coding is basically giving people like me, who are technical but can’t write software, the ability to see what I want by having an AI powered developer build it for me.
***Ok fellow nerds you can start reading again***
What is Vibe Coding?
Vibe coding is a way to be able to “sort of” do the tiling yourself. It’s basically software that is built on top of Large Language Models (LLMs) like OpenAI (ChatGPT) and Anthropic (amongst others).
The beauty of Vibe coding is that you do not need to know how to actually write code. You don’t need to know a specific coding language and all the requisite syntax and structure that’s required to write code that’s usable. Furthermore, once you write code, you need to deploy it to various different environments. No non-technical people know how to do that. Vibe Coding can take care of that as well.
So instead of trying to explain to a developer what I want to make, having them go away and try to interpret what I said into lines and lines of code, and then come back to me to say “is this what you wanted?”, I can collaborate with a vibe coding platform to make things for myself. It’s like having a junior developer (in terms of their business understanding and general context) who works very fast. So even if they are not building the right thing, you know right away and can give them near real-time feedback.
Why is Vibe Coding So In?
The numbers coming out of the vibe coding world are crazy. Here’s just a few:
Lovable.dev → $30M+ ARR only 18 months from launch
Bolt.new → $40M+ ARR - Founded in 2017 but AI coding tool only 2 years old
Cursor → $100M+ ARR - only 3 years from launch
Windsurf - reportedly acquired by OpenAI for $3B - Founded in 2021
Source https://leanaileaderboard.com/
Now in the old days (mid aughts through like two years ago) we had tools like what we see now, they were just really bad. They were typically called “low code” or “no code” software builders. For most use cases, they were terrible. They were too hard for non technical people to use, and the level of knowledge required to actually deploy the code they created into an app was unattainable for non technical folks. Also they created really crappy code, which developers really did not like. Now there were a few isolated areas where no or low code took off. One was website builders like Squarespace or Wix? for example. Why did those platforms work? Well because everything was a pretty rigidly controlled series of templates. Your pages had to be laid out a certain way, with certain structures and the second you started to diverge too wildly from them, you needed someone who could write Javascript. So they were pretty good for simple websites, blogs, things like that. But you couldn’t really build with them. And you couldn’t build a web app, only a website.
With the massive acceleration in AI technology, it has really unlocked a whole other level to low or no code platforms. Because people can get real time outputs from their inputs into these new tools, folks feel like they are “vibing” with them. Ergo, Vibe Coding.
It’s fast and flexible to work with them, and it can be fun (until it isn’t, which we will talk about later).
And for people in Product or startup builders, they can more quickly get to figuring out what they do and don’t want, by getting real time access to what they are building.
What if I Want to Try Vibe Coding?
I think you should. There are a ton of platforms out there, but I’ll run you through a quick assessment of the platforms that I have tried and which one I settled on.
Before I do that I’ll give you a bit more context on my background:
Before building the go to market at my last two companies, one of my jobs was a Product Manager.
I’ve written very little code in my career and can literally build nothing without a developer.
I’m pretty persistent (some would say stubborn…I wouldn’t…but some might) when it comes to trying to make things work.
I’m a big believer in consistently figuring out new ways to do things. A great way to lose credibility in my eyes (professionally at least) is to say things like “I’ve done this before at my previous company” or “we’ve done it this way before” as a reason to do something a certain way instead of just a data point in an overall evaluation.
If I’m going to try and learn something, the best way for me to get there is to focus on an outcome. When I was 20, I tried to learn how to play the guitar by taking traditional lessons. It did not take. Later in my 20s, I decided to try and learn by picking a song or two I wanted to play, and working specifically on those songs. I was Vibe guitaring basically. That worked better. I’m still a shit guitar player who can’t read music, but I can play a bunch of songs.
Ok back to trying Vibe coding tools. I signed up and took a crack at a bunch of tools, and spent more than a couple of hours on four of them. Here’s what I found:
Based on the table above, and me being me, I landed on Lovable.dev. But in order to properly learn it, I needed to pick a project (i.e. a song) in order to really sink my teeth in.
What was the Project?
Several weeks ago I wrote a quick note about the Boston Celtics being sold for $6.1B. For the past several years, private equity firms have really leaned into acquiring or investing in professional sports teams. And over the last little while, I’m not sure if you’ve noticed there has been some…ahem…volatility in the stock markets.
So I wanted to answer the question “How have sports team valuations performed when compared to the markets?”
And I couldn’t! It was really really hard to find the data, and to have it visualized in the way I wanted.
And that was the genesis for the idea for Fanancial.
Why this idea?
It was more complicated than just building a website. I knew that Lovable could create websites or landing pages for me. But like I mentioned earlier, I could do that today with tools like Squarespace.
It had data that I needed to go and get, and structure properly, and then it had visualizations that needed to be built. All of these things would be beyond my technical capability and required both front end and back end services.
It is a combination of things I am genuinely interested in (Sports + Finance + Growth). And I knew if I wanted to stick with it and build these things it needed to be something I could dig into and remain interested in.
It required me to build both a front end web interface and with backend services and a database. An actual web application and not just a website.
What were my major goals?
To build an app I would use.
To take the app all the way to production (i.e. make it live on the interwebs)
To build something that maybe could generate traffic. That meant contemplating things like SEO (which is how websites show up when you search for them - Search Engine Optimization)
If there was ever any traffic, I would not be monetizing the site directly, but I would use it to collect email subscriptions for the Indian Dad (and the new section called Fanancial)
What did I like about Vibe Coding?
Well I can’t write code, and Lovable can. Simple as that. It’s basically nerd Hogwarts.
What else?
You can create pages and sites and app interfaces really really fast.
No broken telephone and no time delays between what I am asking for and something being put together for me.
It’s way more powerful than a website builder.
What did I learn about Vibe Coding?
You can definitely build things without being a developer, but you can’t build much beyond simple web pages if you aren’t a little bit technical. What do I mean by “a little bit technical”? Well, ZayZoon is a company with 200 people. I would say that while I can’t write code, I’m probably inside of the top 60 most technical people at the company. Puts me at about a 7 out of 10 on the Tech Company How Technical Are You Scale. However, take me out of ZayZoon, put me in a random group of 200 people, and I’m probably inside of the top 10 most technical people. That’s a 9.5/10 on the Regular People How Technical Are You Scale. I figure you need to be an 8 or higher on the Regular People scale to get value out of these platforms.
You need to be a great troubleshooter. Truthfully though this extends to working with human developers as well. Troubleshooting and dot connecting are related skill strengths, and are immensely helpful when guiding human or AI powered development projects.
Writing prompts is a skill. Most people are leveraging ChatGPT as a glorified Google. And as a result don’t quite get the hype, or are disappointed or disillusioned in its capabilities and its propensity for hallucination. But you have to get better and better at guiding the AI with what you need. The best analogy I can give you is that I really like going into a Winners or Nordstrom Rack, and spending a lot of time digging in to find a what I need. Most people walk in, find it overwhelming, walk out, and buy the first version of what they are looking for online. Whereas I know, because of the time and energy I’ve invested into shopping at those places, how to more effectively get what I want. Prompt writing is the same. It’s where the aforementioned stubb- I mean persistence comes in.
Finishing projects is a major pain in the ass. You can get to 80% of what you want very quickly, its the finishing and tweaking that are very hard. You have to be so precise when you ask for things to be tweaked otherwise you can ruin a lot of hard earned progress. The finishing is DEFINITELY something real developers do much better.
The tools can get stuck in a loop. You want them to fix something, and they keep coming back with “Shubh I fixed it!!” when nothing was resolved. Then they can repeatedly try the same fix over and over. For those of you who read my post on Chappy putting a mustache in my logo, it’s the same phenomenon. Here’s where being a good problem solver/troubleshooter and a little bit technical really helps. You can guide it out of that loop to come at the problem a different way.
Do I like Vibe Coding?
Yes. Very much so. It’s actually become kind of a fun hobby.
Again, if I could write code, maybe I wouldn’t be so enamored with Lovable. But I can’t. So I am.
Tell Me More About Fanancial Sports Shubh
Wow that’s really kind of you to ask. But this post was super long so I’m going to post a follow up Part 2 on the actual building of that site.