57
24 Comments

Vibe coding for dummies: 11 tips for building with AI
IH+ Subscribers Only

We collected the best tips on X for vibe coding, so you can build cool shit without getting stuck in a loop.

A man talking to a robot

Everyone's talking about vibe coding these days, but not many are sharing tips on how to do it well.

In part, this is because vibe coding is so new. It's barely been a month since Andrej Karpathy coined the concept on X, which isn't enough time for anything like a broad consensus to form around best practices.

But enough time has passed for lots of indie hackers to have stumbled onto insights we can all take advantage of.

So Courtland and I spent some time on X pulling these insights together: from picking the right AI models, to avoiding time-wasting headaches, to debugging code you didn't even write, to building in public:

1. Use a smarter model for planning

Use smarter models to plan and use Claude 3.7 Sonnet to vibe code.

Tell Grok 3, GPT-4.5, or o1 Pro Mode to make a PRD (product requirements document) for your "junior engineer," then copy-paste its plan to the agent you're using to code, like Claude Code, Cursor, or Windsurf.

This is super useful as your code grows more complex:

2. Start over, often

When vibe coding, start over, often. You're not going to get it right the first time. So just go crazy:

  • Accept everything Claude suggests

  • Get to a breaking point as fast as possible

  • Then take what you've learned and start over with your new learnings

3. Use separate files

Tell Claude to vibe code using separate files.

You don't want all your code in a single massive file. It'll overwhelm Claude's context and make it slow.

Ask for small, well-organized files. (In many cases it will do this automatically.)

4. Context is everything

Understanding context is key for vibe coding.

Claude only knows what's in context, so you need to skillfully manage what's in context every time you make a request.

Here are great tips on that from Simon Willison, the co-creator of Django:

“Most of the craft of getting good results out of an LLM comes down to managing its context—the text that is part of your current conversation.

This context isn’t just the prompt that you have fed it: successful LLM interactions usually take the form of conversations, and the context consists of every message from you and every reply from the LLM that exist in the current conversation thread.

When you start a new conversation you reset that context back to zero. This is important to know, as often the fix for a conversation that has stopped being useful is to wipe the slate clean and start again.

Some LLM coding tools go beyond just the conversation. Claude Projects for example allow you to pre-populate the context with quite a large amount of text—including a recent ability to import code directly from a GitHub repository which I’m using a lot.

Tools like Cursor and VS Code Copilot include context from your current editor session and file layout automatically, and you can sometimes use mechanisms like Cursor’s @commands to pull in additional files or documentation.

One of the reasons I mostly work directly with the ChatGPT and Claude web or app interfaces is that it makes it easier for me to understand exactly what is going into the context. LLM tools that obscure that context from me are less effective.”

5. Get ready for hundreds of prompts

You can't one-shot everything with vibe coding.

It's going to take you dozens (if not hundreds) of AI prompts to build a fully fleshed-out app or game that's good enough for other people to use.

Of course, with hundreds of prompts, things will become very complex. And with complexity, errors will accrue.

Know what that means?

6. Be prepared to write SOME code

Don't believe the hype about apps being "100% coded by AI."

The AI will get stuck, especially as your codebase grows. So be prepared to write some code by hand.

The less technical you are, the bigger a problem this will become. So the next tips is about reviewing and debugging:

7. “Vibe debugging” and code review

Just as you should use smarter models for planning, you should use smarter models for code review.

Reading all the code that Claude writes (especially 3.7 Sonnet) can take forever. So have Grok 3 or o1 pro mode do it for you. Just copy-paste the files Claude edited and tell them to review it.

You can also have your agent write tests!

If you aren't sure which tests you should ask it to write, or how many tests it should write, just use the PRD you created in the planning phase as a reference.

8. CRUD apps turn out better than games

Despite all the attention that's gone to AI games in the past few weeks, expect vibe coding to go a lot smoother when building basic CRUD apps than with graphically demanding apps like games.

(CRUD stands for Create, Read, Update, and Delete — the four fundamental operations used in software development, particularly in web apps and databases.)

Why? Because Claude and other AI models struggle to get graphical APIs right. They struggle to draw vectors, and they struggle to know what looks good.

Vibe coding is magical in a lot of ways, but definitely not in getting things to look great.

But who am I kidding? You probably want to vibe code some games. So here are some tips on that:

9. Use Three.js for 3D games

If you're making a 3D game, tell Claude to use Three.js.

It's the gold standard and can make beautiful games like this one from Nicola Manzini:

10. For 2D games, avoid engines altogether

If you're making a 2D game, avoid engines.

Just tell the AI to write code without one. You don't need Pixi.js, Godot, etc., and your AI will hallucinate their APIs if you use them.

11. Share what you ship

Vibe coding is still a shiny new object that no one can stop talking about. Use this to your advantage by sharing what you're working on.

It doesn't matter if your social media posts get 0 likes. Share every step. Especially when you get stuck. When other people see, they're likely to chime in with helpful tips you didn't know about.

You can also learn from other people's examples: my writeup earlier this week explained how five vibe-coded AI games went viral, despite their creators having tiny audiences.

Photo of Channing Allen Channing Allen

Channing Allen is the co-founder of Indie Hackers, where he helps share the stories, business ideas, strategies, and revenue numbers from the founders of profitable online businesses. Originally started in 2016, Indie Hackers would go on to be acquired by Stripe in 2017. Then in 2023, Channing and his co-founder spun Indie Hackers out of Stripe to return to their roots as a truly indie business.

  1. 1

    This is the playbook I wish I had 6 months ago. Especially these
    2- I completely rewrote my auth system 3 times
    5- My Google Gemini conversation is a novel
    6 -The moment I stopped fighting this was when I actually started learning

  2. 2

    I would add - ask the AI to write modular code and small files. Include some tests - its good if you write it and let the AI evaluate after each change

  3. 2

    Great article, thank you so much! I'm not a coder (just an industrial engineer and entrepreneur), and I'm trilled I'll soon be able to create AI agents and other apps without having to know (almost) anything about coding :)
    Although it's still useful to have a coder in the team to help correct and supervise.

  4. 2

    i wish this article would appear on my mailbox 2 weeks ago - save me so much time & make my life easier TT^TT

  5. 1

    Just read Channing’s vibe coding tips — lots of gold in there.

    Biggest takeaways for me: don’t chase perfection, just start messy and restart often. Also, CRUD apps are way easier for AI to handle than games (makes sense in hindsight).

  6. 1

    Thanks for the link to the first known use of "vibe coding"! I was trying to understand if this term was initially used by the less-technical people I now see using it. Interestingly it seems the originator of the term isn't the most technical as they mention "the code grows beyond my usual comprehension." [Edit: I just looked up the author and he's super technical so I'm not sure what he meant by this]

    At MVP CTO I work with a founder who's great with product but not much of a programmer (he's actually one of my former web development bootcamp students - a dropout actually - who convinced me there's a future in helping less technical founders who have strong product vision). He's been doing this (vibe coding without calling it that) quite a bit to get to a v0 on any net-new features (often tying into existing databases) and then the prototype is usually thrown away in favor of a human architected solution.

    I'm definitely watching this space. Perhaps I should market my CTO as a Service to vibe coders so they can ask a real developer instead of always using LLM trial and error: "Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away". I could see my service as very valuable for review at many steps in the process e.g. reviewing the product requirements document you mentioned in step 1. Thanks for the article!

  7. 1

    Nice article. And good tips also for beginners like me. Thanks a lot!

  8. 1

    This is a great guide! AI-powered coding can be a game-changer, especially for beginners. Tip #3 on breaking problems into smaller tasks is super helpful. Thanks for sharing!

  9. 1

    Vibe coding is changing the game, but if you're not pairing it with vibe content, you’re leaving growth (and feedback) on the table. When I’m launching MVPs or iterating fast with AI agents, I use Bolta.ai to schedule and track build-in-public posts across Threads. It keeps my launch loop tight — test, post, learn, repeat. If you’re starting over often (as you should), make sure your content isn’t. Let Bolta handle the chaos so you can keep vibing

  10. 1

    小白也尝试了一个网页单页,可以免费使用qwq,欢迎消耗,www.qwq-ai.net

  11. 1

    AI has been a very helpful in my learning how to code journey but it also made me super frustrated several times. This article comes at a very good time for me though :D

  12. 1

    AI needs to be properly implemented and restricted at the outset

  13. 1

    Some great tips, I'm going to use this tonight to create a prompt type app, I'll post it on my twitter which I've just started!

  14. 1

    This article is great for demystifying coding with AI! Your tips, like keeping things simple at first and not hesitating to experiment, really align with a hands-on approach. I also loved the nod to the importance of well-crafted prompts; it’s a bit like Scabld, where everything relies on clarity to run smoothly.

    Maybe adding a small prompt example could have reinforced the idea even more? Either way, this will definitely motivate many to dive in and start playing with these tools!

  15. 1

    Insightful article! It's really important to recognize that you will ultimately have to write some code, and debugging is going to trouble you. For non-tech people, these are going to be huge challenges if ignored for long.

  16. 1

    Such a good article, so nice to see the people I have followed get some recognition. Nice one Channing

  17. 1

    Great article

  18. 1

    Thank you for sharing! This is super useful!

    One more point (for readers without deep tech background)—just learn the basics of coding and the theory behind algorithms.

    It is not necessary to read ten old-school programming books, but reading just one or two to understand what AI is doing under the hood will be very helpful.

    Additionally, the instructions and prompts will improve significantly.

  19. 1

    nice for ai engineer

  20. 1

    Here's my take: for code generation and debugging, OpenAI models work best – o3-mini-high for high-throughput tasks and o1 as the heavy hitter. But they're weak on creativity, which shows in the interfaces they suggest, so they're better suited for backend stuff. The latest Sonnet, even the free version, often saves the day where OpenAI struggles with debugging, and it's got a great eye for interfaces. Recently, Grok 3 caught my eye – I haven't tested it much on code yet, but for creative tasks and search, it feels like the top pick right now.

    As for DeepSeek, its only charm is being free and nearly limitless. But the quality's shaky, and it's hardly worth it if you’ve got even a basic OpenAI subscription.

  21. 1

    For anyone going through the complete hype around this new perspective of 'Tech Building', this is where you start.

  22. 1

    Great write-up, keep them coming! I have been vibe coding since December 2024 and totally love it. Would like to see more tips

  23. 1

    Loved your post on AI building tips—concise yet packed with value. Would you grant permission to translate it into Chinese for Medium?

    Full credits and source links will be prominently included, of course.

    Thanks for considering—the post deserves to reach more creators.

  24. 1

    This is a great breakdown of early vibe coding insights! The emphasis on using smarter models for planning and iterative restarts is key. Separating files for better context management is a practical tip. It's fascinating to see the evolution of AI-assisted development in real-time.

Create a free account
to read this article.

Already have an account? Sign in.