App Builder Track
Coming Soon
This track is under development. The overview below shows what's planned. Full tutorials will be added in future updates.
This track covers building web applications with Claude Code assistance—from simple React components to full-stack apps with authentication and databases.
Learning by Building
The best way to learn development is by building real projects. Each project teaches new concepts—by the end, you'll have a portfolio of working applications.
What You'll Build
| Project | What You'll Learn | Stack |
|---|---|---|
| Task Manager | React components, state, localStorage | Next.js + TypeScript |
| Weather Dashboard | API integration, charts, dynamic UI | React + APIs |
| Blog Platform | Authentication, database, CRUD | Full-stack + PostgreSQL |
| REST API | Backend development, JWT auth | Python + FastAPI |
Prerequisites
- Completed Start Here track
- Basic HTML/CSS/JavaScript (or willingness to learn with Claude!)
- Git configured and working
- Node.js installed
Project 1: Task Manager with Next.js
Your first real app. A beautiful task manager that persists data and works on any device.
What You'll Build
- Create, edit, and delete tasks
- Organize with categories and due dates
- Mark tasks as complete with satisfying animations
- Data persists across browser sessions
- Fully responsive—works on phone, tablet, desktop
Step 1: Project Setup
Tell Claude what you want:
Create a new Next.js 14 app for a task manager with:- TypeScript- Tailwind CSS- App Router- ESLint Set up the project structure with components/, lib/, and hooks/ folders.- layout.tsx
- page.tsx
- TaskList.tsx
- TaskItem.tsx
- TaskForm.tsx
- FilterBar.tsx
- tailwind.config.js
- package.json
Step 2: Define Your Data
Define TypeScript types for a task manager:- Task interface with id, title, description, status, category, dueDate- Status type (pending, in-progress, completed)- Category type Put these in src/lib/types.tsStep 3: Build Components
Work through each component:
Create a TaskForm component that:1. Has inputs for title, description, category, due date2. Validates inputs before submission3. Uses Tailwind for a clean, modern look4. Works for both creating and editing tasks5. Has accessible labels and proper focus managementThen the list:
Build a TaskList component that:1. Displays tasks in a responsive grid2. Shows status with color-coded badges3. Has smooth hover effects4. Includes delete and edit buttons5. Groups tasks by status or categoryStep 4: State Management
The heart of your app:
Create a custom hook useTasks that:1. Manages task state (add, edit, delete, toggle status)2. Persists to localStorage automatically3. Loads saved tasks on page load4. Provides filtering and sorting5. Uses TypeScript for type safetyStep 5: Polish It
Make it feel professional:
Add finishing touches:1. Smooth animations for adding/removing tasks2. Dark mode that respects system preference3. Loading skeleton while hydrating from localStorage4. Empty state with helpful message5. Confetti animation when completing all tasksStep 6: Deploy
Ship it to the world:
Help me deploy to Vercel:1. Create a git repository2. Push the code3. Connect to Vercel4. Deploy and get a live URLCheckpoint
Test your app: Create 5 tasks, edit one, complete two, delete one, refresh the page. Everything should persist.
Project 2: Weather Dashboard
Now let's work with external data. You'll build a beautiful weather app that fetches real-time data from an API.
What You'll Build
- Search weather for any city worldwide
- See current conditions with beautiful icons
- 5-day forecast with temperature charts
- Save favorite cities
- Dynamic backgrounds that match the weather
Step 1: Setup and API Key
Create a React + Vite project for a weather dashboard.I'll use the OpenWeatherMap API (it's free). 1. Set up the project with TypeScript2. Install axios for API calls and recharts for graphs3. Show me how to get a free API key4. Configure environment variables securelyStep 2: Build the API Layer
Create a weather service that:1. Fetches current weather by city name2. Gets 5-day/3-hour forecast data3. Handles errors gracefully (city not found, rate limits)4. Uses TypeScript types for API responses5. Includes retry logic for failed requestsStep 3: Create the UI
Build these components with Tailwind: 1. SearchBar - City search with autocomplete feel2. CurrentWeather - Big temperature, condition icon, city name3. ForecastCard - Single day with high/low4. ForecastList - 5-day horizontal scroll5. WeatherDetails - Wind, humidity, pressure, UV index Use a glassmorphism design with backdrop blur.Step 4: Add Data Visualization
Create a temperature chart with Recharts:1. Show hourly temps for next 24 hours2. Use a gradient area chart3. Make it responsive4. Match the color scheme to weather condition5. Add tooltips on hoverStep 5: Dynamic Theming
Make the UI respond to weather:1. Sunny = warm gradient background2. Cloudy = gray, muted tones3. Rainy = blue-gray with rain animation4. Night = dark theme with stars5. Smooth CSS transitions between statesStep 6: Save Favorites
Let users save favorite cities:1. Add to favorites button2. Store in localStorage3. Show favorites as quick-access cards4. Sync across browser tabs5. Remove from favorites optionProject 3: Blog Platform (Full-Stack)
Time to go full-stack. You'll build a complete blog with authentication, database, and all the features users expect.
What You'll Build
- User registration and login
- Create, edit, delete blog posts
- Rich text editor with markdown
- Comments system
- Search and tags
- Author profiles
Tech Stack
- Frontend: Next.js 14, TypeScript, Tailwind
- Backend: Next.js API Routes
- Database: PostgreSQL via Supabase
- Auth: NextAuth.js
- ORM: Prisma
Overview
Guide me through building a blog platform:1. Set up Next.js with Supabase2. Configure Prisma ORM3. Add NextAuth for authentication4. Create the database schema5. Build the UI components Start with project setup and database connection.Database Design
Design my blog database with Prisma: Tables needed:- User (id, email, name, avatar, bio)- Post (id, title, slug, content, published, authorId, createdAt)- Comment (id, content, authorId, postId, createdAt)- Tag (id, name)- PostTag (postId, tagId) Include proper relations and indexes.Authentication
Set up NextAuth.js with:1. Email/password login2. Google OAuth option3. Protected API routes4. Session management5. User profile updates Follow security best practices.Post Editor
Build a blog post editor:1. Markdown editing with live preview2. Auto-save drafts every 30 seconds3. Image upload to Supabase storage4. Tags selector with autocomplete5. Publish/draft toggle6. SEO fields (meta description, og:image)Project 4: Python REST API
Backend-focused project. Build a professional API with Python's FastAPI framework.
What You'll Build
- RESTful API for product inventory
- JWT authentication
- Auto-generated OpenAPI docs
- Database with SQLAlchemy
- Input validation with Pydantic
- Comprehensive tests
Step 1: Project Setup
Create a FastAPI project for a product inventory API:1. Set up virtual environment2. Install FastAPI, uvicorn, SQLAlchemy, Pydantic3. Create proper folder structure4. Add a health check endpoint5. Configure hot reload for developmentStep 2: Database Layer
Create SQLAlchemy models:- Product (id, name, description, price, quantity, category_id)- Category (id, name, description)- User (id, email, hashed_password, is_active, is_admin) Set up SQLite for development, PostgreSQL-ready for production.Step 3: Pydantic Schemas
Create Pydantic models for:- ProductCreate, ProductUpdate, ProductResponse- UserCreate, UserLogin, UserResponse- CategoryCreate, CategoryResponse Add validation:- Price must be positive- Email must be valid format- Password minimum 8 charactersStep 4: CRUD Endpoints
Implement REST endpoints:- POST /products - Create product- GET /products - List with pagination, filtering, sorting- GET /products/{id} - Get single product- PUT /products/{id} - Update product- DELETE /products/{id} - Delete product Use proper HTTP status codes and error responses.Step 5: Authentication
Add JWT authentication:1. POST /auth/register - Create user account2. POST /auth/login - Returns access + refresh tokens3. POST /auth/refresh - Get new access token4. Password hashing with bcrypt5. Protected routes require valid JWT6. Role-based permissions (user vs admin)Step 6: Testing
Create comprehensive tests with pytest:1. Test all CRUD operations2. Test authentication flow3. Test validation errors4. Test edge cases5. Use test database fixture6. Aim for 90%+ coverageWorking with Claude Code
Planning a Project
Help me plan a web app for [your idea]:1. What's the best tech stack?2. Break features into buildable chunks3. What are potential gotchas?4. Suggest a folder structure5. What should I build first?Debugging
I'm getting this error:[paste the full error] Here's the relevant code:[paste code] What's causing this and how do I fix it?Code Review
Review this code for:- Bugs or logic errors- Security vulnerabilities- Performance issues- Best practice violations [paste code]Getting Unstuck
I'm trying to [goal] but [problem]. What I've tried:1. [approach 1]2. [approach 2] What am I missing?Deployment Cheatsheet
Vercel (Next.js)
# Install Vercel CLInpm i -g vercel # Deployvercel # Deploy to productionvercel --prodRailway (Python)
# Install Railway CLInpm i -g @railway/cli # Login and deployrailway loginrailway initrailway upWhat's Next?
- 1
Build Your Own
Take what you've learned and build something you actually want to use. A portfolio site, a tool for your job, a side project idea you've been sitting on.
- 2
Level Up
- Automation Track: Automate your deployments
- Data Analysis: Add analytics to your apps
- Git & GitHub: Master version control workflows
- 3
Advanced Projects
Ready for more? Try:
- E-commerce with payments (Stripe)
- Real-time chat (WebSockets)
- Mobile app (React Native)
- SaaS with subscriptions
Resources
Frameworks
Deployment
Learning
- Frontend Mentor — Practice projects with designs
- Full Stack Open — Free comprehensive course
Start Building!
Pick a project and dive in. You don't need to understand everything before you start—that's what Claude is for. The best learning happens when you're building something real.