WhoBuilt

How To Get The Most Out Of Vibe Coding

Apr 25, 2025· 17 min· 361K views·Watch on YouTube

Speaker

Tom, a partner at Y Combinator, shares practical ways to get better results from AI coding tools, including tips from founders in YC’s Spring Batch.

Start with a plan and work in steps

Tom suggests beginners try visual tools like Replit or Lovable, while people with coding experience may prefer Cursor, Windsurf, or Claude Code. Before implementing, develop a project plan with an LLM, record it in a Markdown file, and mark features that are out of scope. Build one section at a time, check that it works, run tests, and commit the changes.

Use Git and tests to control changes

Tom recommends starting each feature from a clean Git state so there is a known working version to return to. If repeated AI fixes add messy layers of code, he suggests resetting and trying again with a clean codebase. High-level integration tests that simulate a user clicking through the app can catch regressions and unrelated changes.

Use AI beyond implementation

Tom describes using Claude Sonnet 3.7 to configure DNS and set up Heroku hosting through a command-line tool. He also used ChatGPT to create a favicon image, then asked Claude to write a script that resized it into six formats and sizes. For debugging, he recommends sharing the error message, asking for possible causes before changing code, adding logs, and trying another model if needed.

Give agents context and clear boundaries

Tom recommends writing project instructions in files such as Cursor Rules, Windsurf Rules, or CLAUDE.md, and keeping API documentation locally so the agent can read it before implementation. For complex features, he suggests getting a small reference implementation working separately, then asking the agent to follow it in the main project. Small, modular files and consistent API boundaries make code easier for people and AI tools to understand.

Adapt your workflow and keep experimenting

Tom says established conventions and abundant training examples may help explain why the AI performed well with Ruby on Rails in his project; he had less confidence in its performance with Rust or Elixir. Screenshots can show UI bugs or provide design inspiration, and voice transcription can speed up instructions. He recommends refactoring once tests are in place and regularly comparing models, since their strengths can change.

Takeaways

  • Write a scoped plan with the AI, then implement and review one piece at a time.
  • Keep Git commits and high-level integration tests as safeguards against messy changes and regressions.
  • When a fix gets stuck, step back, inspect the error, add logging, and try a clean attempt or a different model.
  • Give coding agents project instructions, local documentation, and clear module boundaries.
  • Test new model releases on your own tasks because their strengths and weaknesses shift over time.

Mentioned in this talk

Search inside this talk

What was claimed 11

Show all 11 facts

Related talks

How To Get The Most Out Of Vibe Coding, Tom · WhoBuilt