All tasks are complete. 60 tables, 53 enums, 78 migrations.
| Task |
Type |
Description |
| T-001 |
Infra |
Turborepo + Bun monorepo (5 packages) |
| T-002 |
Infra |
Docker Compose (PostgreSQL 5433, Redis 6379) |
| T-003 |
Infra |
Drizzle ORM + migration system |
| T-004 |
Backend |
Core schema (teachers, students, auth_sessions) |
| T-005 |
Infra |
Shared package (Zod schemas + types) |
| T-006 |
Backend |
Fastify 5 setup (CORS, cookies, auth, rate limiting) |
| T-007 |
Frontend |
React 19 + Vite 6 + TanStack Router + shadcn/ui |
| T-008 |
Backend |
Development seed data |
| Task |
Type |
Description |
| T-101 |
Integration |
Google OAuth for teachers |
| T-102 |
Backend |
Teacher onboarding API |
| T-103 |
Frontend |
Dashboard layout + collapsible sidebar |
| T-104 |
Frontend |
4-step onboarding wizard |
| T-105 |
Integration |
Google Calendar connection |
| Task |
Type |
Description |
| T-201 |
Backend |
Availability system (schedules, rules, overrides, activations) |
| T-202 |
Backend |
Unified service model (3 dimensions) |
| T-203 |
Backend |
Slot engine (10-step algorithm) |
| T-204 |
Frontend |
Public booking page |
| T-205 |
Backend |
Trial booking (free + paid) |
| T-206 |
Frontend |
Teacher trial management |
| T-207 |
Frontend |
Calendar view (week + agenda) |
| T-208 |
Integration |
Trial notification emails |
| Task |
Type |
Description |
| T-301 |
Integration |
Stripe Connect setup |
| T-302 |
Backend |
Stripe webhooks (idempotent) |
| T-303 |
Integration |
Paid trial flow |
| T-304 |
Backend |
Enrollment system with session accounting |
| T-305 |
Backend |
Credit system (immutable ledger + idempotency) |
| T-306 |
Backend |
Student magic link auth |
| T-307 |
Frontend |
Student portal |
| T-308 |
Integration |
Purchase + booking email templates |
| Task |
Type |
Description |
| T-401 |
Backend |
Cancellation policy engine (per-service rules) |
| T-402 |
Backend |
Legal documents (versioned, acceptance) |
| T-403 |
Backend |
Auto-complete system (BullMQ) |
| T-404 |
Frontend |
Teacher settings pages |
| Task |
Type |
Description |
| T-501 |
Full Stack |
Student CRUD + lifecycle tracking |
| T-502 |
Full Stack |
Contact log (WhatsApp/email/phone) |
| T-503 |
Backend |
Student lifecycle events (14 types) |
| T-504 |
Backend |
Lifecycle detection worker (daily cron) |
| T-505 |
Full Stack |
Retention metrics + insights |
| T-506 |
Full Stack |
Student preferred hours |
| Task |
Type |
Description |
| T-601 |
Backend |
Material folders (hierarchical, cascade soft-delete) |
| T-602 |
Full Stack |
Lesson templates |
| T-603 |
Full Stack |
Resource library |
| T-604 |
Integration |
Google Drive integration + auto-copy |
| T-605 |
Frontend |
Materials browser (list/grid/kanban) |
| T-606 |
Full Stack |
Tags & categories |
| T-607 |
Backend |
Content analytics |
| Task |
Type |
Description |
| T-701 |
Backend |
Reviews (rating, source, status, import) |
| T-702 |
Backend |
Review requests (in_app/email/link) |
| T-703 |
Backend |
Review settings (auto-request, auto-approve) |
| T-704 |
Frontend |
Teacher reviews page (5 tabs) |
| T-705 |
Frontend |
Public reviews section |
| T-706 |
Frontend |
Student review form |
| Task |
Type |
Description |
| T-801 |
Full Stack |
Widget system (booking/storefront/reviews) |
| T-802 |
Frontend |
Reviews widget (4 layouts) |
| T-803 |
Frontend |
Public teacher profile + layout editor |
| T-804 |
Backend |
Profile analytics |
| Task |
Type |
Description |
| T-901 |
Backend |
Audit log (append-only, fire-and-forget) |
| T-902 |
Backend |
Audit cleanup worker (monthly) |
| T-903 |
Backend |
GDPR data export (14 tables) |
| T-904 |
Backend |
GDPR data erasure (anonymize + delete) |
| T-905 |
Backend |
Erasure requests (30-day due date) |
| T-906 |
Backend |
Data retention (weekly cron) |
| T-907 |
Full Stack |
Privacy routes + UI |
| Task |
Type |
Description |
| T-1001 |
Backend |
Circuit breaker (Redis-backed) |
| T-1002 |
Backend |
Rate limiter (sliding-window) |
| T-1003 |
Backend |
Calendar sync worker (5 min cron) |
| T-1004 |
Frontend |
Optimistic updates (11 hooks) |
| T-1005 |
Frontend |
Keyboard shortcuts + command palette |
| Task |
Type |
Description |
| T-1101 |
Full Stack |
Waitlist system (auto-notify, 48h offers) |
| Task |
Type |
Description |
| T-1201 |
Backend |
Session satellites (3 tables) |
| T-1202 |
Backend |
Group sessions (participants junction) |
| T-1203 |
Backend |
Courses (schedule items + progress) |
| Task |
Type |
Description |
| T-1301 |
Backend |
Provider-agnostic OAuth |
| T-1302 |
Backend |
Soft-delete pattern (7 tables) |
| # |
Worker |
Schedule |
Purpose |
| 1 |
auto-complete |
Per session |
Complete after end + grace |
| 2 |
calendar-sync |
5 min cron |
Retry pending syncs |
| 3 |
drive-copy |
On demand |
Copy Drive files |
| 4 |
drive-sync |
3 AM daily |
Verify file integrity |
| 5 |
lifecycle-detection |
6 AM daily |
Detect gaps, churn, streaks |
| 6 |
content-analytics |
Periodic |
Aggregate usage metrics |
| 7 |
audit-cleanup |
1st of month |
Clean old logs |
| 8 |
data-retention |
Sunday 3 AM |
GDPR enforcement |
| 9 |
waitlist-expiry |
Hourly |
Expire stale offers |
| 10 |
metric-alerts |
Periodic |
Check metric alert thresholds |
| 11 |
scheduled-messages |
Delayed jobs |
Contact reminders for teachers |