Building Your First Real Project
Time to build something real from scratch. You'll go from an empty folder to a live website in a single conversation — and learn the workflow that professional developers use with Claude Code every day.
Start from Nothing
The most magical part of Claude Code is building something from an empty folder. No templates, no tutorials, no boilerplate — just a blank slate and a conversation.
Let’s build a personal portfolio website. Here’s how you start:
$ mkdir ~/my-portfolio $ cd ~/my-portfolio $ claude
Welcome to Claude Code v2.x.x Type your message to get started…That’s it. An empty folder and Claude. Now tell it what you want:
Build me a personal portfolio website. I want a hero section with my name and a short tagline, an 'About Me' section, a projects grid with 4 placeholder cards, and a contact section with my email. Use a modern dark theme with smooth scroll. Make it a single HTML file with embedded CSS so it's easy to open.
Watch what happens. Claude will create the file, write all the HTML and CSS, and you’ll have a working website in under a minute. Open the file in your browser and see your portfolio.
You don’t need to know what HTML or CSS means. Claude handles all the technical details. Your job is to describe what you want it to look like and what it should do. Think of yourself as the client, not the builder.
Iterate, Don’t Start Over
Here’s what separates Claude Code from other AI tools: you don’t start a new conversation every time you want a change. You just keep talking.
Built the portfolio but want to tweak it? Just say so:
Now add a projects section with 6 cards in a 3-column grid. Each card should have a project title, a short description, a tech stack list, and a 'View Project' button. Use subtle hover animations on the cards.
Claude remembers the entire conversation. It knows what file it created, what styles it used, and what your site looks like. Each follow-up prompt makes the project better — like an artist adding layers to a painting.
Here are more follow-up prompts you might use during a real build session:
- “Change the color scheme to navy blue and gold”
- “The hero section feels too short — make it full-screen height”
- “Add a dark mode toggle in the top right corner”
- “The mobile layout is broken — fix the responsive design”
Think of Claude Code like a conversation with a designer. You wouldn’t hand them a complete blueprint on day one. You’d say “build this,” look at it, then say “change that.” That back-and-forth is the natural workflow.
Test in Your Browser
After Claude creates or modifies files, you’ll want to see the result. For simple HTML projects, just open the file:
$ open index.html
(browser opens with your site)Or ask Claude to do it for you:
Open the site in my browser so I can see how it looks.
For more complex projects with a development server, Claude will typically start it for you:
> Start the development server so I can preview the site
Starting dev server… Server running at http://localhost:3000 Open that URL in your browser to see the site.When you spot something wrong in the browser, describe what you see. “The navigation links overlap on mobile” or “the footer is floating in the middle of the page” — Claude can fix visual bugs from your description alone.
Save Your Work with Git
Git is how developers save snapshots of their projects. Think of it like saving different versions of a Word document — except Git keeps every version forever and lets you go back to any of them.
The good news? You don’t need to learn Git. Claude handles it for you.
Initialize a git repository, add all my files, and commit with the message 'Initial portfolio site with hero, about, projects, and contact sections'.
Here’s what that looks like:
> Initialize a git repo and commit my files
Running: git init Initialized empty Git repository Running: git add . Running: git commit -m “Initial portfolio site” 1 file changed, 187 insertions(+) Your work is saved!After more changes, commit again:
- “Commit my changes with a message describing what we just added”
- “What files have I changed since my last commit?”
- “Undo the last change — I liked the previous version better”
A “commit” is a save point. Every time you commit, Git takes a snapshot of your entire project. If you mess something up later, you can always go back to any previous commit. Claude makes committing as easy as saying “save my work.”
Create a Pull Request on GitHub
If you want to share your project or collaborate with others, Claude can push your code to GitHub and create a pull request (PR). A pull request is just a way to propose changes and get feedback before merging them in.
Create a new branch called 'add-blog-section', push it to GitHub, and create a pull request with a description of the changes we made.
Claude will handle the branch creation, pushing, and PR creation. If you’ve connected your GitHub account, it all works seamlessly. If not, Claude will walk you through the setup.
To push code to GitHub, you’ll need a GitHub account and either SSH keys or a personal access token set up. If you haven’t done this before, ask Claude: “Help me set up Git and connect it to my GitHub account.” It will walk you through every step.
The Power of Natural Language
Let’s step back and appreciate what just happened. You built a portfolio website, styled it, iterated on the design, saved it with Git, and prepared it for GitHub — all by having a conversation in English. No Googling “how to center a div.” No watching a 45-minute tutorial. No copying code from Stack Overflow.
This is the new workflow:
- Describe what you want
- Review what Claude built
- Refine with follow-up instructions
- Save with a commit
- Repeat
Every project follows this loop, whether you’re building a personal site, a business dashboard, a mobile app, or an internal tool. The skills you just learned scale to anything.
If you ever get stuck or confused, just tell Claude: “I’m lost. Where are we? What have we built so far, and what should we do next?” Claude will summarize the current state and suggest next steps. You always have a co-pilot.
Try It Yourself
Build a Project from Scratch
- Create a new empty folder:
mkdir ~/my-first-project && cd ~/my-first-project - Start Claude Code:
claude - Send this prompt: “Build me a recipe collection website. I want a homepage showing recipe cards in a grid, and when I click a card it expands to show the full recipe with ingredients and instructions. Include at least 4 sample recipes. Use a warm, kitchen-friendly design.”
- Open the result in your browser and look at it
- Send at least 3 follow-up prompts to improve the design (change colors, add a search bar, fix anything that looks off)
- When you’re happy, ask Claude: “Initialize a git repository and commit all my work.”
The Full Iterate Loop
- Continue from Exercise 1 (or start a new project)
- Ask Claude to add a new feature: “Add a ‘Favorites’ feature. I should be able to click a heart icon on any recipe to save it, and there should be a ‘My Favorites’ page that shows only my saved recipes. Use localStorage to persist favorites.”
- Test it in your browser — click the hearts, check the favorites page
- If something doesn’t work, describe the problem to Claude and let it fix it
- When it’s working, ask Claude: “Commit these changes with a message describing the favorites feature”
- You just completed the full loop: describe, review, refine, save