Build Log
The Capture Notebook
June 20, 2026
ForgeHome stopped being a task manager and started being a household mind — a place where thoughts land before they have a shape.
Timeline
What shipped
forgehome/lib/date.ts — localDateStr() and localDateOffset() using Intl, timezone-safe for US East
forgehome/lib/chatgpt.ts — openInChatGPT({ text, context, type }) shared util, context-aware prompts, clipboard fallback
captureItems schema table with status enum (raw/suggested/routed/calendar_created/saved_note/archived/dismissed)
calendarImportStatus column on routeItems (unconfirmed/confirmed/dismissed) — replaces sortOrder:40 magic number
Capture Notebook page — textarea-only input, no form fields, voice support, AI classifies in background
NotebookInput component — drop thought, hit 'Drop it', save is instant, classification is async
NotebookList component — Needs sorting / Still here / Saved notes sections with inline expand-to-act cards
Today nudge — quiet count badge below header, links to Notebook, no guilt tone
Research in ChatGPT — context-aware prompt per capture type, opens new tab + copies to clipboard
RouteItemCard — Search icon in action row on every active route item, same openInChatGPT util
Google Calendar write-back fix — end = start + 60min, never zero-duration again
Day-brief caching — in-process Map keyed by household+date+itemHash, same state = same brief
“Capture is not a task queue. It's a place where thoughts go to become something.”