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

Session 1Core Structure
  • 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
Session 2Organisation & Connections
  • 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
Session 3Rich Features & Polish
  • 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
Session 4Go Live
  • 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 automatically
projectsid, user_id, name, description, status (not_started / in_progress / done), due_date, created_at
tasksid, project_id, title, completed (true/false), sort_order, created_at
notesid, project_id, content, created_at
tagsid, user_id, name
project_tagsproject_id, tag_id
remindersid, 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.