Skip to main content

Core Day Planner

Status: ✅ Complete
Last Updated: 2026-01-21

Overview​

Complete day planner system with perimeter tasks, task management, time tracking, checklist integration, and week view.


User Guide​

What is the Day Planner?​

The Day Planner is your central hub for managing each day. It combines:

  • Morning Checklist - Daily habits and activities
  • Perimeter Tasks - Your daily focus (3-5 reusable tasks)
  • Tasks - Work items with timeboxes
  • Training/Mobility/Cardio - Exercise tracking
  • Nutrition - Meal planning and cooking
  • Recovery - Sleep, mood, energy tracking
  • Reflection - Journaling, reading, meditation

Daily Workflow​

Morning (Planning)​

  1. Open the Today page - See your day planner
  2. Select Perimeter Tasks - Choose 3-5 reusable tasks that define your focus for today
    • These are tasks you've created before and can reuse
    • They act as guardrails against scope creep
  3. Review your checklist - See what needs to be done today
  4. Check tasks - Review any tasks assigned to today

Throughout the Day (Execution)​

  1. Check off checklist items as you complete them
    • Use keyboard shortcuts (1-9, 0) for quick checking
    • Input variable values (water amount, book selection, etc.)
  2. Track task time - Start/stop time tracking for tasks
  3. Log activities - Training, mobility, cardio, cooking, reading, journaling
  4. Update task status - Move tasks from todo → doing → done

End of Day (Recovery & Reflection)​

  1. Log sleep - Record hours from previous night
  2. Rate mood and energy - 1-10 scale
  3. Complete journal entries - Answer predefined questions
  4. Update reading progress - Log pages read
  5. Complete meditation - Log duration and type

Minimum Mode​

When to use: Life happens. Use Minimum Mode when you need to reduce requirements to the essentials.

Normal Mode:

  • Full checklist (10 items)
  • Perimeter scope (3-5 tasks)
  • Training or mobility/cardio required
  • Cooking, reading, journaling, meditation required

Minimum Mode:

  • Core checklist only (make bed, water, perimeter)
  • Simplified perimeter (2-3 tasks)
  • No training/cooking/reading/journaling/meditation requirement

How to toggle: Use the Minimum Mode toggle in the Today page header.

Week View​

View all 7 days at once to:

  • See patterns across the week
  • Identify gaps (e.g., "You haven't done legs in 2 weeks")
  • Track cooking progress (e.g., "2/3 cooks this week")
  • Review checklist completion percentages
  • See perimeter task status across days

Keyboard Shortcuts​

  • 1-9, 0 - Quick check/uncheck checklist items (1 = first item, 0 = 10th item)
  • Use these for rapid checklist completion

Implementation Details​

Day Detail Page Enhancements​

  • ✅ Edit perimeter tasks IN ARC (checklist with reusable tasks)
  • ✅ Display tasks on Today page
  • ✅ Add/edit tasks from day page (form with timebox and category)
  • ✅ Quick add checklist items (keyboard shortcuts 1-9, 0 for 10th)
  • ✅ Time tracking for tasks (start/stop tracking, actual time calculation)
  • ✅ Task deferral UI with next step requirement
  • ✅ Minimum mode toggle UI (toggle in Today page header)

Week View Improvements​

  • ✅ Week navigation (previous/next week)
  • ✅ Week summary statistics (comprehensive statistics API)
  • ✅ Bulk operations for days (bulk update API)

Today Page​

  • ✅ Quick actions panel
  • ✅ Today's focus/highlights (focus card with perimeter tasks)
  • ✅ Progress indicators
  • ✅ Concept box-driven completion (boxes auto-complete checklist items)
  • ✅ Hydration box (TodayHydration component with quick-add buttons)
  • ✅ Clean checklist UI (boxed items disabled in checklist)

API Endpoints​

  • /api/days/:dayId - Get day details
  • /api/days/:dayId/checklist - Update checklist items
  • /api/days/:dayId/perimeter - Update perimeter tasks
  • /api/weeks/:weekId - Get week details
  • /api/weeks/:weekId/statistics - Get week statistics
  • /api/weeks/:weekId/bulk-update - Bulk update days

Frontend Pages​

  • Today page (/)
  • Day detail page (/day/:dayId)
  • Week page (/week/:weekId)