Overview
A guided weekly review flow that the assistant pre-populates from the user's actual data. Output is stored as a dated snapshot. Based on GTD and 12 Week Year review practices — but the AI does the data gathering automatically.
Flow (5 steps)
- What shipped? — closed tasks this week (auto-loaded)
- What slipped? — tasks moved past due date (auto-loaded)
- What decisions did I make? — decisions from this week (auto-loaded)
- What am I committing to next week? — user fills in (LLM suggests from open items)
- One thing to reflect on — free-form note
New model
model WeeklyReview {
id String @id @default(cuid())
userId String
isoWeek String // "2026-W17"
shipped Json
slipped Json
decisions Json
commitments String
reflection String?
createdAt DateTime @default(now())
@@unique([userId, isoWeek])
}
Files
prisma/schema.prisma + migration
lib/weekly-review/
app/(app)/reports/weekly-review/page.tsx or new route
components/reports/WeeklyReview.tsx
messages/de.json + messages/en.json
Acceptance Criteria
Overview
A guided weekly review flow that the assistant pre-populates from the user's actual data. Output is stored as a dated snapshot. Based on GTD and 12 Week Year review practices — but the AI does the data gathering automatically.
Flow (5 steps)
New model
Files
prisma/schema.prisma+ migrationlib/weekly-review/app/(app)/reports/weekly-review/page.tsxor new routecomponents/reports/WeeklyReview.tsxmessages/de.json+messages/en.jsonAcceptance Criteria