Your Idea

Welcome to your first lesson in the Vibe Coding journey! This is where everything begins – with your idea. First you'll set up Claude Code, the AI teammate you'll build your whole product with. Then you'll work with it to turn a rough idea into a crisp concept it can build from. Every successful product starts with a clearly stated problem for real people and a simple solution that creates value.

1. Set up Claude Code and a project folder

Before shaping your idea, let's get your AI workshop running – you'll do the rest of this lesson inside it.

Why Claude Code?

Cursor, GitHub Copilot, and OpenAI Codex are all good AI coding tools, and everything you learn here transfers to them. Our current recommendation is Claude Code – it runs skills (reusable expert playbooks the agent loads automatically), which is the heart of the modern vibe coding process. All our examples use Claude Code.

The easiest way to start is the desktop app – no terminal or API key needed, just a paid Claude plan (Pro or Max).

Install Claude (Mac)

  1. Go to claude.com/claude-code
  2. Download the desktop app for Mac
  3. Open the downloaded file and drag Claude to Applications
  4. Launch Claude and sign in with your Claude account (Pro or Max plan)

Claude Code needs one more thing to work on a local project: Git. It's free and you only set it up once.

Make sure Git is installed (Mac)

  • Most Macs already have Git. If yours doesn't, a dialog pops up the first time it's needed – click Install to add Apple's Command Line Tools.
  • Want to do it upfront? Open the Terminal app and run xcode-select --install. No restart needed.

Now set up your project home:

  • Make a new, empty folder for your project, and give it a clean, developer-friendly name – all lowercase, words joined by hyphens, no spaces (e.g. recipe-keeper, not My Recipe App). This folder's name doubles as your project's name, so pick something real. It's your project's home for the entire journey.
  • In Claude Code, open the Code tab, click Select folder, and choose that new folder.
  • Start a new chat in that folder and pick a model from the dropdown – Sonnet is the right default for everyday work.
If Claude says “Git is required”

If you can't open a project and see a "Git is required for local sessions" message, Git isn't installed yet. Follow the Git step above, restart Claude, and select your folder again.

I installed Claude Code, set up Git, and opened a new project folder

2. Define the Problem

Now you'll shape your idea – right here in your Claude Code chat. Do the next three steps in one continuous conversation so Claude builds on each answer; you won't need to repeat yourself. Start by brain-dumping your idea and letting Claude coach you to a clear problem statement.

Kick off the conversation: shape the problem
You're my product coach for this conversation. We'll shape my idea step by step – I'll ask for one thing at a time, and I'd like you to keep what we discuss in mind throughout.
Here's my rough idea – I'm going to ramble, and I'd like you to make sense of it:
[Describe your idea in as much detail as you want – don't hold back]
First, help me capture a clear problem statement covering:
- Who the target users are
- The specific problem they face and its root cause
- Why current solutions fall short
- Why this matters (the impact on their lives or work)
Write it at whatever length captures the real detail – don't artificially shorten it. Don't propose a solution yet, and ask me a question first if you need more to get it right.

Outcome: You have a clear problem statement that names the users, their problem, the cause, and why it matters.

I have a clear problem statement

3. Identify the Audience

Stay in the same chat. Now narrow down who specifically has the problem – Claude already has the problem statement from your last message, so just ask it to build on that.

Continue: pick a precise audience
Based on the problem statement we just wrote, list 3–5 plausible target user segments.
1.Suggest increasingly specific options (e.g., "freelance designers working with small businesses").
2.For each, add a reason why they're a strong fit.
3.Recommend the single best target segment and explain your reasoning.

Outcome: You have selected a single, concrete target user segment.

I chose a single, concrete target user

4. Write the Solution Statement

Still the same chat. State how you'll help those users in plain language – focus on the core value, not features or tech. Claude has the problem and audience from the conversation, so just point it forward.

Continue: write the solution statement
Using the problem and audience we landed on, write a solution statement:
"I will build [solution type] that helps [target users] [achieve specific outcome] by [unique approach]."
Then expand on it a little: the core value, and what makes the approach worth it. Plain language, no feature lists or tech buzzwords – focus on the outcome.

Outcome: You have a solution statement that clearly describes the value and approach.

I wrote a clear solution statement

5. Compile and Save Your Concept

To finish the conversation, have Claude pull everything together and save it to a file so every future session – and every future lesson – can read your idea without you re-explaining it.

Finish: compile and save the concept
Now pull our whole conversation together into a concept summary that captures:
1.The problem
2.The target audience
3.The solution
Write it in plain language and keep all the detail that matters – don't compress it to hit a word count. Then save it to `docs/idea/concept.md` (create the docs/idea/ folder). This file is the source of truth for my idea, so later lessons can reference it.

Outcome: You have docs/idea/concept.md saved in your folder – the source of truth for your idea.

I saved my concept to docs/idea/concept.md

6. Hand off to the next lesson

You've installed Claude Code, opened your project folder, and saved your idea to docs/idea/concept.md. Nicely done – that's the foundation everything else builds on.

Here's a habit you'll use throughout the Codex: when you start a fresh chat, hand it your context so it knows what you're working on. A fresh chat is a blank slate – docs/idea/concept.md is how your idea carries forward.

For the next lesson (Local Setup), start a new chat in the same folder and prime it with this handover prompt:

Handover prompt – paste into your new chat for the next lesson
I'm starting to build my project. Read docs/idea/concept.md in this folder to load my idea, target users, and the solution I want to build.
We're about to set up the app in the next lesson. Confirm you've read my concept and briefly tell it back to me so I know we're aligned – then wait for my next step.

Outcome: Your idea is saved and ready to hand to a fresh session for setup.

I saved my concept and handed it to a fresh session for the next lesson