There’s a lot of hype around “vibe coding” over the last few months; so much that ‘coding‘ has emerged as the undisputed top use-case for language models. The idea of vibe coding sounds great: you describe what you want your app to do in plain English, and an AI builds it.
I wanted to see if it’s possible to build something ship-worthy with vibe coding tools. So, a few months ago, I spent some time building two separate applications, one for the web, one for iOS - using some of the popular tools like Cursor, Windsurf, Bolt.new, and Lovable. My goal was to build something practical to see what worked and what didn't.
Here’s what I learned.
1. Web App:
A website that displays insights on public companies by scanning niche & curated list of podcasts/channels.
Tools & platforms used
Vibe Code Tools: Cursor, Bolt.new
Platforms: Supabase (database), GitHub Actions (backend), Netlify (front-end), Google API
The good part
The front-end work felt amazing at first. Building simple pages without a login was fun. Need to change the whole look of the site? Just ask. Need a new component with a specific style? Done. The speed at which you can make a good-looking site is incredible.
The challenges
Things got harder when I tried to add more. I needed to build a dashboard with charts that could be filtered with data from my Supabase database. This is where I got stuck. The logic for getting and filtering the data just wouldn't work. After using a few million tokens, I gave up on that feature.
The back-end experience was similar. At first, it was great for getting the basic code structure running. But as the codebase got bigger, the AI's ability to make changes without breaking something else got worse. This forced me to focus on the basics. I realized that you can't skip the fundamentals. Spending time on system design before writing any code is a must. Spend time brainstorming with AI to come up with a robust design before you even begin writing a single line of code. Trying to change the core plan mid-stream with AI was really hard and tiring.
2. The Mobile App: A Different Kind of Challenge
An app that shows RSS feeds from a curated list of publications in the US about business and economics.
Tools & platforms used
Vibe Code Tools: Windsurf, Bolt.new
Platforms: GitHub Actions, Apple Developer, Expo
The good part
Building the front-end for an app is quite a different experience than building a website. While the initial setup was a learning curve, the ability to generate UI components quickly was still a major advantage.
The challenges
The main challenge was the feedback loop. Bolt only shows the web UI, not the iOS or Android UI. For that, you need to use Expo. This naturally makes it a long process to test UI and make incremental changes, when compared to web.
The hardest part, however, was authentication. Getting a simple user sign-up and login flow working was tough. The AI struggled to figure out all the steps - what happens after you register? How does the password reset flow work? What about deleting an account? Each step needed very specific instructions and a lot of trial and error. A task that felt like it should be simple took a very long time.
This app was extremely basic, so I can only imagine how hard can things get if complexity is turned up even slightly.
So, is it "real"? My conclusions and thoughts:
Yes and no. Vibe coding is real, but it’s not the easy magic people make it out to be. It’s a powerful tool, but it’s just that: a tool. It gives superpowers to engineers, but doesn’t replace them.
It’s fantastic for speeding up the start of a project. You can make quick designs and generate starting code faster than ever before. But it doesn’t replace the hard work of building software. You still need to think hard about your system’s design, plan how it all fits together, and write tests. Here’s a great podcast featuring Bret Taylor explaining this:
The process often feels less like a conversation and more like a negotiation. You learn how to ask for things in the right way, how to break down problems into smaller pieces the AI can handle, and when to just step in and write the code yourself. The "vibe" is a starting point, not the whole story.





You didn't really seem to vibe with this coding experience. However, at the speed at this is evolving, it will get better very soon. Good job though, way to go!