Lesson 7 of 8
Step 4 — Build your first thing
Your workstation is ready. Now use it.
Your Mac is set up. Now build something.
Below are three ready-to-use prompts. Each one builds a complete, working app from scratch. Pick the one that sounds most useful to you and follow the instructions.
Before you start: create a project folder
In Terminal:
mkdir ~/Projects/my-first-app
cd ~/Projects/my-first-app
claude
This creates a folder for your project and opens Claude Code inside it.
Press Shift + Tab to enter Plan Mode before pasting the prompt. In Plan Mode, Claude plans the entire build before writing a single line of code. Read the plan, then type y to approve and let it build.
Starter prompt 1: Personal notes app
A simple web app that saves notes. No accounts, no database. Works offline. Good for a first project.
I am a non-technical Mac user. Please explain every command in plain English before running it.
Build me a personal notes app as a web application. Requirements:
- I can write and save text notes
- Notes are saved automatically (no save button needed)
- Each note has a title and a body
- I can see a list of all my notes on the left, and the full note on the right
- I can delete notes I no longer need
- Everything saves in the browser (no database or accounts required)
- The design should be clean and professional — nothing flashy
Use React and store data in localStorage. When it's done, start a local development server and tell me how to view it in my browser.
Starter prompt 2: Expense tracker
A form-based app that lets you log and categorise expenses, with a running total.
I am a non-technical Mac user. Please explain every command in plain English before running it.
Build me a simple expense tracking web app. Requirements:
- I can add expenses with: date, description, category, and amount
- Categories should include: Food, Transport, Accommodation, Equipment, Other
- I can see a list of all expenses sorted by date (newest first)
- There's a summary at the top showing total spend and a breakdown by category
- I can delete individual expenses
- Everything saves in the browser (localStorage, no backend needed)
- Clean, professional design — looks like a business tool, not a toy
Use React. When it's done, start a local development server and tell me how to open it in my browser.
Starter prompt 3: Meeting notes formatter
Paste raw meeting notes, get a clean formatted summary with action items extracted.
I am a non-technical Mac user. Please explain every command in plain English before running it.
Build me a web app that formats messy meeting notes into clean summaries. Requirements:
- A large text box where I paste raw notes from a meeting
- A button that sends the notes to the Claude API and returns a formatted summary
- The summary should include: Key Decisions, Action Items (with owner if mentioned), and a brief Summary section
- The formatted result appears below the input, neatly styled
- I can copy the formatted result to my clipboard with one click
For the Claude API call, use the claude-haiku-3-5 model. Ask me for my Anthropic API key and store it in a .env file — explain clearly how to get an API key if I don't have one.
Use React and a simple Express backend. When done, start the dev server and tell me how to use it.
Tips for your first build
Use Plan Mode (Shift + Tab) before building. Claude will lay out exactly what it's about to create. Read it, ask questions if something seems wrong, then approve.
Use Opus for planning, Sonnet for building. Before Claude starts writing code, run /model opus for the planning phase. Once the plan is approved, run /model sonnet — it's faster and equally capable at writing code.
Review the result in your browser. When Claude finishes, it will tell you how to view the app (usually http://localhost:3000). Open that URL and try using the app. If something doesn't work or looks wrong, just describe the problem to Claude in plain English.
Save your work. Type this into Claude Code to commit your progress:
Please checkpoint our work — stage all changes, write a descriptive commit message, and push to GitHub if we have a remote set up.