Claude · Prompts

5 projects to get started with AI, with the exact prompts to paste into Claude Code

Portfolio, web and mobile app, animated intro, automatic email sorting, first agent. Five builds you can finish in a weekend, with the exact prompts, the real time, the real cost, and the trap in each one.

QQuentin Megevand
August 10, 2026 · 11 min read

The problem when you're starting out

You installed Claude Code. You watched three videos. And you're still staring at an empty terminal, because "learn AI" isn't a task, it's an intention. What unblocks you is a finished project, running, that you can show someone.

You don't learn AI by reading about it, you learn it by shipping five things that work.

Here are five projects you can finish in a weekend, from a personal site to an agent that uses tools. For each one: the real time, the real cost, the exact prompts to paste in order, the file structure you should end up with, and the trap that costs you an hour if nobody warns you.

Everything is verified against Claude Code 2.1.226 and the package versions cited below. None of the five requires knowing how to code: you describe, you paste, you check.

Claude AI Lab

The Claude AI Lab is my Skool community where I share my Claude systems and the more advanced modules. Access is $67/month.

Join the Lab →
5
projects, from a personal site to an AI agent
30 min to 2 h
each, on your own
$0
on four of the five projects
2.1.226
Claude Code version tested
What you need before starting
1
Claude Code installed. It's what receives the prompts and writes the code. Check with claude --version.
2
Node 20 or higher. Four of the five projects run on it. node --version tells you in a second.
3
Python 3.10 minimum, only for project 5 (the agent). The other four don't need it.
4
An Anthropic API key for projects 4 and 5. The first three only consume your Claude Code tokens.
1

One-page portfolio

🌐 Vite · shadcn/ui · Tailwind · Vercel

A clean, editable personal site, with no paid template and no page that looks like everyone else's. It's the fastest of the five, and the one that pays off soonest.

30 to 45 minutes · about $0 (Vercel free tier, negligible tokens) · Node 20+, a Vercel account.

Start by installing Anthropic's official design skills library, which gives Claude Code component conventions instead of letting it improvise:

/plugin marketplace add anthropics/skills

Then the three prompts, in order.

Create a Vite + React + TypeScript project called `portfolio`. Install and
configure Tailwind CSS and shadcn/ui: run `npx shadcn@latest init` with the
"new-york" style and the "stone" base color. Configure the `@/` alias in
tsconfig.json AND vite.config.ts (otherwise the shadcn imports break).
Structure: `src/components/` for the sections, `src/App.tsx` to assemble them.
Create 5 empty but typed components: Hero, About, Projects, Contact, Footer.
Run `npm run dev` and confirm the page renders on localhost:5173.
Here's my info: [YOUR NAME], [YOUR ROLE in one line], 3 projects with {title,
short description, link}, email [YOUR EMAIL]. Fill in the 5 sections. Hero: large
title (Fraunces or a serif via @fontsource), subtitle, 2 shadcn `Button`s.
Projects: one shadcn `Card` per project. Contact: a styled mailto link. Palette:
stone-50 background, ONE consistent accent color that you choose. Responsive,
mobile-first. No animation library for now.
Add smooth transitions: global `scroll-behavior: smooth` and a `transition` on
Card hover (no library). Check WCAG AA contrast on all text. Then `npm run build`,
fix any TypeScript errors, and deploy with `vercel --prod`. Give me the final URL.

You should end up with src/App.tsx, src/components/{Hero,About,Projects,Contact,Footer}.tsx, tailwind.config.js, components.json and tsconfig.json.

The trap

shadcn breaks if the @/ alias isn't configured in tsconfig.json AND in vite.config.ts. Claude forgets the second one about half the time. If an @/components/... import fails, explicitly ask it to check both files.

2

To-do web and mobile

📱 React · Expo · AsyncStorage

A task app with the same design system in the browser and on your phone. The point isn't the to-do list, it's learning to share logic across two platforms without rewriting it.

1 to 2 hours · about $0 · Node 20+, the Expo Go app installed on your phone.

Create a to-do app in React + TypeScript (Vite). Features: add a task, check it
off, delete it, filter (all / active / done). Persist to localStorage. Put all the
logic in a reusable `useTodos()` hook (that's the one we'll share with mobile).
Minimal design: centered list, input at the top, checkbox on the left. Run it and
confirm it works on localhost.
Now create an Expo app (React Native, TypeScript) called `todo-mobile` that
reuses EXACTLY the same logic as the `useTodos()` hook. Copy it and replace
localStorage with AsyncStorage (`@react-native-async-storage/async-storage`).
Replicate the design: same hierarchy, same colors. Use `expo start` and give me
the QR code to scan with Expo Go.
Create a shared `theme.ts` file (colors, spacing, font sizes) and make both web
AND mobile import it, so the design system stays identical. Add an empty state
("No tasks, add one") and a remaining-task counter at the bottom. Verify that
checking a task persists after a restart on both platforms.

You should end up with web/src/hooks/useTodos.ts, web/src/App.tsx, todo-mobile/App.tsx and todo-mobile/theme.ts.

The trap

AsyncStorage is asynchronous, localStorage is not. If your tasks don't show up when the mobile app launches, Claude forgot an await on the initial read. Ask it to wrap that read in an async useEffect.

3

Animated intro in code

🎬 Remotion · React · TypeScript

An animated video intro written in React and rendered to MP4, without ever opening an editing tool. It outputs vertical, ready for Reels and TikTok.

45 minutes · about $0 (local render) · Node 20+ only.

First install the skill maintained by the Remotion team, which holds the model to the library's conventions:

/plugin marketplace add remotion-dev/skills
Create a Remotion project (`npm create video@latest`, "Hello World" template,
TypeScript). Explain the structure to me: where the Composition lives, where I set
fps (use 30) and duration (use 4 seconds, so 120 frames), format 1080x1920
vertical.
Create a 4-second intro at 1080x1920: (1) my text [YOUR TEXT] appearing with a
`spring()` scale from 0 to 1 over the first 20 frames, (2) a subtitle fading in
underneath between frames 30 and 45 using `interpolate()` on opacity, (3) a subtle
continuous background zoom across the whole duration. Background color [YOUR
COLOR]. Follow Remotion best practices: no animation based on Date.now(),
everything goes through useCurrentFrame.
Render the video to MP4:
`npx remotion render src/index.ts MyComposition out/intro.mp4`. If the render
fails, diagnose it. Give me the final file path and its size.

You should end up with src/Composition.tsx, src/Root.tsx, src/index.ts and out/intro.mp4.

One detail a lot of tutorials still get wrong: you don't need to install ffmpeg. Since Remotion 4, a lightweight build of ffmpeg ships with the library, and rendering works with no system install at all. If you hit an instruction telling you to install it by hand, it predates that.

The trap

Every animation has to derive from useCurrentFrame(), never from a JavaScript timer. Otherwise the preview moves and the rendered video comes out frozen. The Remotion skill enforces this, but check that Claude didn't work around it.

4

Automatic email sorting

📥 Make · Gmail · Claude Haiku 4.5

Your inbox sorted and labeled on its own, every fifteen minutes. It's the first of the five that saves you time every day instead of simply existing.

1 hour · a few dollars a month at most · a Make account, a Gmail account, an Anthropic API key.

Make's free plan covers 1,000 credits per month, which is plenty for personal email volume. On the model side, Claude Haiku 4.5 (claude-haiku-4-5) is the cheapest in the lineup and more than enough to stick a label on an email.

This one happens in two stages. First the classification logic, tested inside Claude before you wire anything up:

Write me an email classification prompt that takes {sender, subject, body excerpt}
and returns ONLY one label from this closed list: [Client, Invoice, Newsletter,
Personal, To handle]. No text around it, just the label. Add one rule: if
uncertain, return "To handle". Test it on 5 examples I give you.

Then the automation scenario:

Walk me through building this Make scenario step by step: (1) a Gmail "Watch
emails" trigger on new mail, every 15 minutes, (2) an HTTP or Anthropic module
sending {from, subject, body truncated to 500 characters} to Claude Haiku with my
classification prompt, (3) a router that applies the Gmail label matching the
response. Give me the exact config for each module: method, endpoint, headers,
field mapping.

You walk away with the JSON export of the Make scenario and your prompt_classification.txt.

The trap

Without a closed list of labels, the model invents one and Make crashes trying to apply a label that doesn't exist. The five-label whitelist in the prompt is what makes the whole thing reliable. And always truncate the email body to 500 characters, or the cost climbs for nothing.

5

Your first AI agent

🤖 pypi.org/project/claude-agent-sdk

A terminal assistant that answers your questions and knows how to use tools on your behalf. This is the project that moves you from "I chat with a model" to "I build a system that acts."

1 hour · a few cents in usage · Python 3.10 minimum, an Anthropic API key in the ANTHROPIC_API_KEY environment variable.

Create a Python project with the Claude Agent SDK (`pip install
claude-agent-sdk`). Write `agent.py`: an agent with the system prompt "You are a
concise, factual personal assistant", a terminal loop that reads my question,
sends it to Claude, and prints the answer. Handle `Ctrl+C` cleanly. Confirm I can
ask a question and get an answer.
Add a first tool to the agent: `get_current_weather(city)` that calls the
open-meteo API (free, no key). Declare the tool to the SDK with a typed input
schema. When I ask for a city's weather, the agent should call the tool and work
the result into its answer. Show me the logs of the tool call.
Add a 2nd tool `save_note(text)` that writes to a local `notes.txt` file, and keep
the conversation history in memory (a list of messages) so the agent has the
context of previous exchanges. Test it: ask for the weather, then say "note it",
and check that the note contains both the city and the temperature.

You should end up with agent.py, notes.txt and requirements.txt.

Two verified details that save you a debugging session: the PyPI package requires Python 3.10 or higher (not 3.11, despite what you'll often read), and the open-meteo API does answer without any key, so there's nothing to set up on the weather side.

The trap

The SDK requires ANTHROPIC_API_KEY as an environment variable, never hardcoded. If the agent returns an authentication error, that's why: run export ANTHROPIC_API_KEY=... before launching, or load a .env file with python-dotenv.

What order to build them in

All five are independent, but the order above is a real progression: you move from "Claude writes files" to "Claude drives a video render" to "Claude triggers actions on my behalf." If you only have one weekend, here's how to pick.

🌐
You want something visible tonight
Project 1. A public URL in 45 minutes, and the only one of the five you can send to someone the same day.
⏱️
You want time back by Monday
Project 4. Email sorting runs on its own and pays for itself within a week.
🧠
You want to understand how an agent works
Project 5. Two tools are enough to see the full mechanic: input schema, call, result fed back in.
🎬
You produce content
Project 3. An intro rendered in code replays forever by changing two variables.

The real payoff

None of these five projects is impressive on its own. What matters is what you keep after running through them: you know how to install a skill, describe an outcome instead of an implementation, spot when the model took a shortcut, and wire an automation onto a real account.

Those are exactly the four moves any larger system asks for. A content pipeline, a sales agent, an automated dashboard: same mechanic, more steps.

🎯Your week
5
Tonight. Project 1, and actually deploy it. A URL that exists beats a perfect local project.
6
Saturday. Project 4, on your real inbox. Five labels, no more.
7
Sunday. Project 5. Stop once you've seen the logs of the first tool call: that's the moment it clicks.
8
The week after. Projects 2 and 3, or better, your own idea with the same reflexes.
Key takeaway

One finished project beats five tutorials watched. Take the one that helps you most on Monday morning, paste the prompts in order, and only move to the next once the first is genuinely live or genuinely running.

Want to go further?

And day-to-day, I post one reel a day on Instagram: @quentin_iamarketing