Step 1: Set up the project
Open a terminal and navigate to your development directory:
cd ~/dev
Start Claude Code:
claude
Paste the setup prompt:
Create the folder ~/dev/web-dev/p4. Download the project materials from https://learnbydirectingai.dev/materials/webdev/p4/materials.zip and extract them into that folder. Read CLAUDE.md -- it's the project governance file. Open VS Code in the project directory. Install the Claude Code extension and the Live Server extension if they aren't already installed.
Once Claude finishes, you have the project workspace with all materials in place. The CLAUDE.md file gives Claude persistent context about the project -- what you're building, the tech stack, the ticket list, and the verification targets.
Step 2: Read Marco's follow-up
Open materials/first-contact.md.
Marco sent a follow-up email. The inventory system you built in the last project works -- his team uses it every day. Now he has two new requests.
First, traceability. A customer in Munich reported an off-flavour in their bars. Marco needs to trace back: which batch (2024-H2-03), which farm (Finca Rosario), and which other customers got bars from the same batch. Right now he searches through everything manually.
Second, customer self-service. His shops in Japan and Germany email him every day to check order status. He wants them to look it up themselves. But they should see only their own orders -- not other customers' orders, not his internal inventory.
Notice the tone. This email is shorter than his first one. No introduction, no explanation of the business. He trusts you -- you built the working system. "Thank you" in the first line, then straight to the requests. When you respond, match that directness.
Step 3: Ask about the gaps
Marco described what he needs. He didn't describe everything a developer needs to know.
How should the customer portal identify which shop is logged in? Marco said "their own orders" but didn't say how the system knows who "they" are. Should each shop have a login? An access code? A unique URL?
What does "trace back" mean in practice? When Marco finds the Munich batch, does he need to see just the farm and other customers, or also every product made from that batch, the quantities shipped, the delivery dates?
Open the chat with Marco. Ask targeted questions -- not a long list, just the two or three things you need to know before you can plan the data model changes. Marco answers what you ask and nothing more.
Check: Can you describe what "traceability" means in Marco's supply chain -- from customer complaint, through batch, to farm, and back out to other affected customers? Can you list what Marco's shops should and should not be able to see?