Vibe Coders

54 readers
1 users here now

A community learning to build software using AI to amplify learning and effectiveness.

founded 1 month ago
MODERATORS
1
-10
What is vibecoding? (self.vibecoders)
submitted 1 month ago by canadaduane to c/vibecoders
 
 

Vibecoding as a term is only a month or so old--but I think it captures a new and significant shift in the way we might approach coding now and in the future.

Andrej Karpathy tweeted (Xed?) about it here:

There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.

I think Andrej captured something important, and as a community the AI/software engineering community has adopted and adapted its meaning.

Wikipedia has a slightly more evolved definition since Andrej's tweet:

Vibe coding is an AI-dependent programming technique where a person describes a problem in a few sentences as a prompt to a large language model (LLM) tuned for coding. The LLM generates software, shifting the programmer’s role from manual coding to guiding, testing, and refining the AI-generated source code. Vibe coding is claimed by its advocates to allow even amateur programmers to produce software without the extensive training and skills previously required for software engineering.

As a software engineer, I'm very interested in this trend--both because it represents an entirely new way of coding (currently, sometimes helpful sometimes two-clever-by-half) and because it threatens my assumptions about coding.

But also because it enables people who have never coded to imagine building for their first time, and I welcome that.

2
-6
Cursor vs Windsurf? (self.vibecoders)
submitted 1 month ago* (last edited 1 month ago) by canadaduane to c/vibecoders
 
 

I'm enjoying the challenge of using these high-level editors. They don't always do what I want. But many times, they explore possibilities I never would have considered.

Currently, I'm giving Windsurf a try, both in my personal projects and at work. I really like the Cascade process, where it tries something, then realizes it could do a bit more, then tries an alternate path, etc. It's a little easier for me to work with than Cursor, although I haven't used Cursor in a couple of weeks--so maybe it's already improved lol.

I tried working with dual Windsurf windows open today--the idea was: could I manage two "AI agents" as they try each to solve a different problem? I had one exploring a bug: first, chatgpt 4o helped convert screenshots of the issue to text, then I pasted all of the notes our product manager had made (along with the screenshot-to-text) and had Windsurf noodle on that for a bit. It came very close to a solution, but the tests were unable to prove the solution worked, so I had to revert to normal coding.

On the other Windsurf window, I was doing some new feature development. One trick I learned is to create a directory full of readme-esque files that cover various best practices or architectural decisions we've made in our codebase. For instance: a how-to-test.md file, with detailed instructions on how we write SQL tests against a database. I could @-reference this file (indicating to the AI that this file should be read/used/followed) whenever writing tests or using a test runner. Then I added this file to my .windsurfrules file and it seemed to pick that up consistently.

Maybe the "trick" to this new world is to be very detailed about all of the "tribal knowledge" practices we all keep in our heads, document them, and then conditionally call them up when appropriate? If I understand correctly, this is essentially what Devin (the $500+/mo AI Jr. developer) is doing and what is required to get this AI to do its job.

Overall, I enjoyed this new mode of "high level" development. I'll probably give it a rest at work for a few days, but I'm still open to it being an effective way to work. Will try again soon.

3
 
 

I showed my 15yo daughter what I was doing (building https://vibe-coders.org/) and she immediately saw promise it in to build her own health app and schedule her own exercise routine in the morning.

Within a few minutes she'd created a prompt that generated a website just for her--no login, no sharing her data. She made flowers grow out of the corners when she loads the website, just for a personal touch. She can add scheduled weekly exercises and then check them off on a daily basis when she does them.

Super cool!