The exercise repo for the AI Coding Crash Course — a self-paced course from Matt Pocock on AI-assisted engineering with Claude Code.
This is a full-stack course platform (think a mini Udemy) built with React Router, TypeScript, SQLite, and Drizzle ORM. Throughout the course, you'll use Claude Code to explore, extend, and refactor this codebase — learning real engineering workflows for AI-assisted development along the way.
- Node.js v22+ (ships with npm v10+)
- Claude Code CLI installed
- A Claude Pro or Max subscription
# Install dependencies
npm install
# Run database migrations and seed data
npm run db:migrate
npm run db:seed
# Start the dev server
npm run devThe app will be running at http://localhost:5173.
| Command | Description |
|---|---|
npm run dev |
Start the development server |
npm run build |
Build for production |
npm run test |
Run tests with Vitest |
npm run test:watch |
Run tests in watch mode |
npm run typecheck |
Type-check the project |
npm run db:migrate |
Run database migrations |
npm run db:seed |
Seed the database |
npm run reset <slug> |
Reset your repo to a lesson checkpoint |
npm run cherry-pick <slug> |
Cherry-pick a lesson's solution |
The crash course works through this codebase in six sections:
- Before We Start — Repo setup, how to run the exercises, database migrations, and making your first change.
- Concepts — The core mental models for AI-assisted coding — reference material, no code changes.
- Getting to Know Claude Code — Sessions, context, permissions, IDE integration, and subagents.
- Fundamentals — Exploring the codebase, building features, and using skills (
grill-me,handoff) to drive real work. - Steering — Steering the agent with
AGENTS.md/CLAUDE.md, custom skills, and pruning context. - Planning — Writing a spec, turning it into multi-phase tickets, and implementing it phase by phase.
Each lesson that involves code has a checkpoint commit on the live-run-through branch, addressed by its slug. To jump to any point:
# Reset to a lesson's checkpoint
npm run reset try-the-cli
# Cherry-pick a lesson's solution if you want to skip ahead
npm run cherry-pick course-star-ratings- Framework: React Router v7 with SSR
- Language: TypeScript 5.9
- Database: SQLite via Drizzle ORM
- Styling: Tailwind CSS 4 + shadcn/ui
- Testing: Vitest
- Build: Vite 7
- Real-time: Ably for live presence
This repository is for students of the AI Coding Crash Course. All rights reserved.