ForgeKitFORGEKIT

Build Log

ForgeHome Event Prep

June 20, 2026

Courtney can now see big things coming, plan food for them, and have ingredients in her cart before the event week.

ForgeHomeMealsCalendarUX
30
day lookahead in /week
5
new API routes
4
new DB columns
2
new components

Timeline

Start
Scoped the feature
Courtney feedback: future events + pretzel salad + groceries before the event
30m
Schema + week page
30-day lookahead, isRecurring filter, hiddenFromLookahead, dishLabel columns pushed
60m
LookaheadCard built
Plan for this event panel, hide button, confirmation summary, save-as-recipe
90m
Grocery list updated
Event items grouped by event then by dish, neededByDate visible
120m
Recurring fix
Google recurringEventId wired into sync; backfill endpoint ran to fix existing rows

What shipped

30-day Coming Up section inside /week — non-recurring, non-hidden events only

LookaheadCard component — Plan for this event button, food prep panel, hide from Coming Up

Ingredient generation from dish name — checks saved recipes (fuzzy match), falls back to Claude

Confirmation summary after ingredient add — count, needed-by date (editable), save-as-recipe, view groceries link

Multiple dishes per event — each tracked by dishLabel, no limit

POST /api/events/recipe-grocery — generates and saves grocery items tagged to the event

POST /api/events/save-recipe — saves generated ingredients as a reusable household recipe

PATCH /api/events/recipe-grocery/need-by — updates neededByDate for all items on an event

Grocery list event section — groups by event + dish, shows event date and need-by date

Google Calendar sync now reads recurringEventId and writes isRecurring to routeItems

Debug backfill endpoint to fix existing rows — one-time run, can be deleted

This is a very strong product direction. It makes ForgeHome less like a calendar and more like a home operations assistant.

Zeb, mid-session feedback