What We Build
A personal project and goal tracker — the vehicle for learning every major concept in the course.
You'll build an app where you manage projects, break them into tasks, track progress, tag and categorise them, and receive email reminders when deadlines approach. Every major concept in the course shows up naturally in this build.
Features Built Across Sessions
- User registration and login
- Create a new project: name, description, status, due date
- View all projects in a card layout with status indicators
- Search projects by name
- Edit and delete projects
- Tags/categories: assign labels like "work," "personal," "side hustle," "health"
- Filter projects by tag and by status
- Dated notes/updates per project (a timeline of progress entries)
- Email integration: send a test email via Resend
- Tasks within each project: add, complete, reorder
- Progress tracking: percentage complete based on tasks done
- Due date reminders: set a date, receive email notification via Resend
- Dashboard page: total projects, active vs completed, upcoming deadlines, progress overview
- Mobile-responsive design and visual polish
- Deploy to DigitalOcean App Platform
- Full end-to-end test
- Optional: connect a custom domain
Why This App
This app covers every course concept without being overcomplicated.
Authentication
User accounts — only you see your projects
Database Tables
Projects, tasks, notes, and tags tables
Relationships
Each project has many tasks, notes, and tags
API Integration
Resend for email reminders
Environment Variables
Supabase keys, Resend API key
CRUD Operations
Create, read, update, delete projects and tasks
Search & Filtering
Search box, tag filters, status filters
UI/UX Design
Cards, progress bars, dashboard, mobile responsiveness
Deployment
DigitalOcean App Platform
Database Structure
Claude creates these via the Supabase MCP. Here's the data model.
usersHandled by Supabase Auth automaticallyprojectsid, user_id, name, description, status (not_started / in_progress / done), due_date, created_attasksid, project_id, title, completed (true/false), sort_order, created_atnotesid, project_id, content, created_attagsid, user_id, nameproject_tagsproject_id, tag_idremindersid, project_id, user_id, reminder_date, message, sent (true/false)The project tracker serves as a reference. When building their own app during the 30-day phase, students can look at how any feature was implemented here and adapt the same patterns.