I'm A Product Guy.

Good, bad, great, all products can be better.

If you’re like me, you slightly obsess over every product you come across and are either impressed and inspired by an amazing experience or deeply disappointed by a total miss.  I can’t keep this ecstasy or misery to myself so there’s usually some rant which follows.

Pep Talk: Vibe Coding For Non-coders

How can newbies feel the vibes of Windsurf?

In my previous blog Windsurf, Feeling The Vibe? I shared my experience Vibe Coding with Windsurf, playing the role as a newbie, non-coder. We found the platform is not quite ready for the uninitiated to create stand alone, useful software applications. Which is fine for now, since Windsurf is clearly focused on engineers, which is totally fine, start ups need to focus. I demonstrated that when Vibe Coding as a non-coder it’s OK and expected to hit a few speed bumps. Non-coders are not yet the target audience. If/when Windsurf and other Vibe Coding IDEs (integrated developer environments) are ready to give non-coders a bear hug, how can they make life easier for these new users? And what can we expect for the future of Vibe Coding? 

We’ll sort this all out, a perfect opportunity for a Product Pep Talk.

OPPORTUNITIES FOR IMPROVEMENT 

Critique without recommendations is for social media trolls and film critics, that’s not what we do here at Product Pep, so let’s dig in on areas to improve. 

Let’s first get one thing out of the way, aesthetics. Windsurf (and all of the vibe coding platforms I’ve seen) have an interface that leaves something to be desired. The UI has the look and feel of VS Code with a bolted on AI Chat window. For engineers who spend all day in code editors this may seem like an “iPhone” type advancement in usability. For the rest of us, it just looks like a code editor with a chat window. For consumer products, taste matters. 

Windsurf UI

Windsurf IDE User Interface

It would be delightful to see redesign efforts rethink this interface, ground up, from a human-computer interaction design perspective. Something more visually stimulating that’s closer to working with a front end engineer or designer. This isn’t meant to be a design teardown assessment, so for now we’ll leave this be.    

Wait, after I point out one glaring design choice. As I stared at the busy, slightly overwhelming Home screen, unsure of my call to action, it took me way too long to realize the ‘Generate a project with Cascade’ is actually a button! jeez. And this triggers an elongated modal with a drop down far too many pixels away. Another fun fact, the radio buttons are not selectable. Hint: you need to type “Command + L” for Cascade. IDK maybe there’s a good reason, but the user doesn’t care. These shortcomings are not just aesthetics, buttons masking as tooltips, fake radio buttons, and the rest slow down first time users and can limit onboarding and product led growth. Which brings me to the First Time User Experience, the FTUE (fa-too-ey if you’re fun).

First Time User Experience

FTUE is crucial to onboarding, which typically includes creating an account and taking some action that promotes customer value. At Postmates, a successful FTUE included completing your first order. If you open the Postmates App you have clear intent, you’re hungry and don’t want to budge from the couch. Most Product teams will have some conversion to time cliff for when users start to bail, drop off. Thanks to TikTok, attention spans are getting shorter by the minute so it’s even more important the FTUE is crisp and clean and your target action is completed before the next text message, X post, insta whatever distracts your customer.

Declutter the Home screen, remove unessential UI elements and text. Make it obvious for both experts and newbies alike. My first time opening the app, my eyes glazed over as I discovered there was a choice needed: “Code with Cascade” or “Open Command Palette" and had no clue what Cascade or Pallette meant here, so I just closed the app and walked away, wondering if I needed to run the dishwasher. 

Better Templates - Staring at a blank canvas can be soul crushing. The Windsurf team knows which types of applications are most popular and if not they can use unsupervised Machine Learning to display a fresh list of the top types of apps. Currently the template options don’t exactly inspire one to build something amazing.

  • “Make me a playable 2048 app with smooth animations” Whatever this means.

  • “Build Splitwise” Seriously what?

  • “Build me a beautiful personal website with a modern UI. My name is Garret G, and I am a” On the right track, but a bit verbose. 

Not everyone is going to have clear intent and also know a priori how to prompt-engineer, Vibe Code. Some are going to be kicking the tires and they need help. These are probabilistic systems so where you start matters. The initial conditions from which this randomness unfolds will influence the trajectory, learning, and ultimate performance. So give the newbies a fighting chance from the start. 

More attention to Developer Environment Setup - the low point of my FTUE was when I had gone through multiple iterations and still had nothing to show for it and then had to leave Windsurf to create other accounts and install applications and SDKs. These are known things, for example, if a user wants to build an iPhone App, first check that they have the latest Xcode installed. Extra credit: confirm that they even know the basics of Xcode. Instead we just started and were soon lost in a random forest with no clear path out. The dev environment needs to be included in the initial AI agent created project plan. Or better yet maybe host the entire dev environment in the cloud, this is how Product people work with developers. The engineer has the Developer Environment running on their system and is an intermediary between the code and the product person or designer, who decides what to build. 

The front door to any product needs to be equally inviting and obvious to both the newbies and the experts. I should not have had to watch 3rd party videos on getting started with Windsurf. When your users rely on YouTubers to get started you lose control of the experience. That being said, I do recommend this one: How To Use Windsurf Editor For Beginners.  

Product Pep Talk over, that’s all for now. This FTUE clean up can be addressed with minor features and design clean up - these may already be coming soon. Let’s be clear, Windsurf’s core features and performance are exceptional - it’s autocomplete on steroids. An improved FTUE will further lower the barrier of coding expertise needed to create new things.   

FUTURE

Vibe Coding expands the pool of talented people who can build tools to solve problems beyond those who understand computer programming and networking. But does it expand the pool enough? Regardless, the future being ushered in by Windsurf and other Vibe Coding integrated IDEs is exciting. The world will be a better place when all innovators can build software products, tools, websites, solving problems and creating art. The question remains, is Vibe Coding the only answer? Or will another approach leapfrog with even more democratization for software builders? I’m talking about Agentic IDEs. 

For most of my test experience with Windsurf I was ping ponging between Cascade and Terminal, not fully understanding the code I was copy/pasting. I was clearly the weak link in the chain. So why not just remove me from the process? That's the gist of Agentic IDE - remove the human from the loop. The result will be an experience where the AI agent operates with minimal human intervention, acting as proactive team members in the software development lifecycle. No code reviews needed!

Jarvis "All Rights Reserved" Marvel Inc.

Magical moment: This becomes magical when this interaction is conversational, like the exchange between product manager or designer and engineer building an application. Or Ironman and Super AI J.A.R.V.I.S. After describing the problem you want to solve, the AI Agent will reply back with a plan, maybe design mockups and network diagrams and then let you know when it’s ready!

SUMMARY

Can a vibe prompt engineer replace a real engineer? Not yet, maybe not for a while. If someone says they built a complex application with little or no coding experience, be suspicious. Will Windsurf reach 100 million application builders faster than the natural growth of people learning to code? Maybe, but not without consumer-grade updates to their user experience.    

Until then, Vibe Coding for non-coder, newbies is best for the following use cases, and BTW these are great! 

  • Simple Web Pages or Components, generate HTML, CSS, and basic JavaScript based on natural language descriptions, creating landing pages, simple interactive elements, or UI components. 

  • Automated Scripts for Simple Tasks, generate basic scripts in languages like Python for automating repetitive tasks, such as file manipulation or data processing. They might describe the task in plain English, and Windsurf could suggest the code. This would also work for building internal tools and admin panels.

  • Prototypes of User Interfaces: By describing the desired layout and functionality, a newbie non-coder could generate a basic visual prototype of an application's user interface, even if the underlying logic isn't fully implemented. Or go as far to build an MVP (Minimum Viable Products) with limited functionality. 

Overall I’m excited about what Windsurf and other Vibe Coding IDEs are enabling: engineers to be 30% more productive and newbie non-coders to build things they previously could not. These are exciting times indeed. I want to hear from you. What have you built with Vibe Coding? What was your previous experience level with coding?