Build Log
Homeschool Curriculum Shuffle
June 19, 2026
Missed a lesson? One tap and AI finds the next open slot. No guilt loop.
ForgeHomeAIHomeschool
1
new DB table
30
curricula pre-loaded
3
new API routes
2
import paths (CSV + picker)
Timeline
Start
Feature scoped
Full-year import, inline shuffle, no separate page
15m
Schema + migration
curriculum_lessons table, Drizzle migration generated
30m
Known curriculum catalog
30 curricula across Math, Reading, Writing, History, Science, Bible
1h
Import API + /curriculum page
Both CSV and known-curriculum paths working, preview table
1.5h
Shuffle API
Scans next 7 days, Claude picks lightest day, creates routeItem + slotSuggestion
2h
SchoolSection updated
Shuffle button inline on moved/skipped items, suggestion card with Claude's reason
2.5h
Build, commit, deploy
Clean tsc, clean next build, pushed to Vercel
What shipped
curriculum_lessons DB table with status enum (unscheduled → scheduled → done → skipped → moved)
Known curriculum catalog: 30 pre-built curricula across 7 subjects
POST /api/curriculum/import — handles both 'known' and 'csv' modes
/curriculum page — tab UI: Known Curriculum picker + CSV upload with preview table
POST /api/curriculum/shuffle — scans 7-day gap, Claude picks lightest day, creates route item
SchoolSection updated — 'Find a slot' button on missed lessons, inline confirmation card
“It's more than a memory thing — saving how to do something is what ForgeKit is built on. Our whole reason to exist.”