Skip to main content

Today Page Sections

This document explains how the four main sections of the Today page work in tududi. For technical implementation details, see /backend/modules/tasks/queries/metrics-queries.js and /backend/modules/tasks/queries/metrics-computation.js.


Overview

The Today page is divided into four main sections that organize your tasks:

  1. Overdue - Tasks past their due date that need attention
  2. Planned - Tasks you're actively working on today
  3. Suggested - Tasks recommended for you to work on next
  4. Completed - Tasks you finished today

Each section follows specific rules to show the right tasks without duplication.


1. PLANNED SECTION

What Appears Here

Tasks with any of these three statuses:

  • In Progress - Tasks you're actively working on
  • Planned - Tasks you scheduled to work on
  • Waiting - Tasks blocked or waiting for something

Key Rules

  1. Status is what matters, not the "today" checkbox

    • A task marked "Planned" appears here even if you haven't checked "today"
    • A task with "Not Started" status won't appear here even with "today" checked
  2. Deferred tasks are hidden

    • If you set "Defer Until" to a future time, the task won't appear until that time arrives
    • Once the defer time passes, the task automatically becomes visible
  3. Only parent tasks appear

    • Subtasks don't show up (they're shown under their parent)
    • Recurring parent templates are hidden (only today's instance shows)
  4. Completed or cancelled tasks are excluded

    • Once done, archived, or cancelled, tasks move out of this section

Display Order

Tasks are sorted by:

  1. Priority (High → Medium → Low)
  2. Due date (earliest first)
  3. Project (grouped together)

Special Cases

  • Habits: Appear under a separate "Habits planned for today" header
  • Recurring tasks: Only today's occurrence shows, not the template

2. OVERDUE SECTION

What Appears Here

Tasks with a due date before today that are NOT already in the Planned section.

Key Rules

  1. Time-based filtering

    • Due date must be before today (respects your timezone)
    • "Today" is calculated using your local timezone settings
  2. Excludes tasks already in Planned

    • If a task is overdue but you marked it "In Progress" or "Planned", it stays in Planned
    • Avoids showing the same task in multiple sections
  3. No completed or cancelled tasks

    • Done, archived, and cancelled tasks don't appear
  4. Project deadlines affect task visibility

    • If a task has no due date but its project is overdue, the task appears here
    • Helps you see work related to overdue projects
  5. Deferred tasks are hidden

    • If you deferred a task to tomorrow, it won't show in Overdue today
    • Even if originally overdue, deferred tasks hide until defer time passes

Display Order

Same as Planned section:

  1. Priority (High → Medium → Low)
  2. Due date (earliest first)
  3. Project (grouped together)

User Control

  • Can be hidden entirely via Today Settings
  • Collapse/expand state is remembered in your browser

3. SUGGESTED SECTION

What Appears Here

Up to 10 tasks automatically selected as good candidates for you to work on next.

When Suggestions Appear

Suggestions are only shown if:

  • You have 3 or more open tasks, OR
  • You have tasks in progress, OR
  • You have tasks due today

If none of these are true, no suggestions are shown.

Selection Rules

  1. Excludes tasks already visible elsewhere

    • Tasks in Planned, Overdue, Due Today, or In Progress don't appear
    • Avoids duplication across sections
  2. Excludes "someday" tasks by default

    • Tasks tagged as "someday" are only included if there aren't enough other suggestions
    • Prioritizes actionable tasks over future ideas
  3. Excludes deferred tasks

    • Tasks with "Defer Until" set to the future don't appear
    • Only shows tasks available to work on now
  4. No subtasks or recurring templates

    • Only shows parent tasks you can directly work on

How Tasks Are Selected

The system picks suggestions in this order:

  1. High-priority tasks without a project (unscheduled important work)
  2. High-priority tasks with a project (project-related important work)
  3. Medium-priority tasks (both with and without projects)
  4. Tasks with upcoming due dates (time-sensitive work)
  5. "Someday" tasks (only if fewer than 6 suggestions found above)

Within each priority level, tasks with earlier due dates are preferred.

Limits

  • Maximum 10 suggestions shown
  • If you have fewer than 10 qualifying tasks, all are shown

User Control

  • Can be hidden entirely via Today Settings (hidden by default)
  • Collapse/expand state is remembered in your browser

4. COMPLETED SECTION

What Appears Here

Tasks you completed today, including:

  • Regular tasks marked as "Done" today
  • Recurring tasks you completed today (can appear multiple times if you completed multiple occurrences)

Key Rules

  1. Time-based filtering

    • Only tasks completed within today's 24-hour window (respects your timezone)
    • "Today" runs from 00:00:00 to 23:59:59 in your local timezone
  2. Includes recurring task history

    • Recurring tasks track each completion separately
    • If you complete a recurring task multiple times today, all instances are shown
    • Completions are preserved in history even though the task advances to the next occurrence
  3. Only parent tasks appear

    • Subtasks don't show (they're counted with their parent)
    • Recurring parent templates are excluded (only completed instances shown)
  4. Excludes skipped occurrences

    • If you skipped a recurring task occurrence, it doesn't count as completed

Display Order

Tasks are sorted by:

  • Completion time (most recently completed first)

Additional Data

The Completed section also provides:

  • Weekly completion trend: 7-day chart showing your completion pattern
  • Completion count: Total tasks completed today
  • Progress percentage: Completed vs. planned tasks

User Control

  • Can be hidden entirely via Today Settings (visible by default)
  • Collapse/expand state is remembered in your browser

Section Priority Rules

No Duplication

A task appears in exactly one section based on this priority:

  1. Completed (highest priority) - If done today, shows only here
  2. Planned - If status is in_progress/planned/waiting, shows only here
  3. Overdue - If due before today and not planned, shows here
  4. Suggested - If not in any above section and meets criteria, shows here

Example Scenarios

Scenario 1: Overdue task you're working on

  • Due date: 2 days ago
  • Status: In Progress
  • Appears in: Planned (not Overdue, because status takes priority)

Scenario 2: High-priority task with no due date

  • Priority: High
  • Due date: None
  • Status: Not Started
  • Appears in: Suggested (not Overdue, because no due date)

Scenario 3: Task deferred until tomorrow

  • Due date: Yesterday (overdue)
  • Defer until: Tomorrow
  • Status: Not Started
  • Appears in: Nowhere (hidden until defer time passes)

Scenario 4: Recurring task completed

  • Recurrence: Daily
  • Status: Done (just completed)
  • Appears in: Completed (and task automatically resets for tomorrow)

Time & Timezone Handling

How "Today" is Calculated

  • Your local timezone is detected from your account settings
  • "Today" means from midnight to midnight in your timezone, not UTC
  • All date comparisons respect your timezone

Example

If you're in New York (EST, UTC-5):

  • Today starts: 2026-03-14 00:00:00 EST = 2026-03-14 05:00:00 UTC
  • Today ends: 2026-03-14 23:59:59 EST = 2026-03-15 04:59:59 UTC

A task completed at 11:30 PM EST shows in "Completed Today" even though it's technically the next day in UTC.


User Settings

Today Page Settings

You can customize what appears on your Today page:

SettingDefaultEffect
Show Overdue/Due TodayOnShows/hides Overdue section
Show SuggestionsOffShows/hides Suggested section
Show CompletedOnShows/hides Completed section
Show MetricsOffShows/hides task metrics widget
Show Daily QuoteOnShows/hides daily motivational quote
Show Progress BarOnShows/hides completion progress bar

Where to Change Settings

  • Click the settings icon (⚙️) on the Today page
  • Settings auto-save when you toggle them
  • Settings are stored per user account

Collapsible Sections

Each section can be collapsed or expanded:

  • Click the section header to collapse/expand
  • Your preference is saved in your browser
  • Persists across sessions

Special Features

Defer Until

What it does:

  • Hides a task from all sections until a specific date/time
  • Useful for tasks you can't work on yet

How it works:

  1. Set "Defer Until" to a future date/time
  2. Task disappears from Planned, Overdue, and Suggested sections
  3. System sends you a notification 5 minutes before defer time
  4. Task automatically reappears when defer time is reached

Example:

  • Task: "Call plumber"
  • Defer until: Monday 9 AM
  • Result: Task hidden until Monday at 9 AM, then appears in appropriate section

Recurring Tasks

How they appear:

  • Only today's occurrence shows in sections (not the parent template)
  • Parent templates are automatically hidden to avoid duplication
  • When you complete today's occurrence, it moves to Completed and resets for next occurrence

Completion tracking:

  • Each completion is recorded separately
  • You can complete a recurring task multiple times in one day
  • All completions show in the Completed section

Habits

Special handling:

  • Habits appear in the Planned section under "Habits planned for today"
  • Separate from regular tasks
  • Have their own "Habits completed today" subsection in Completed

Performance & Limits

Pagination

Each section shows a limited number of tasks by default:

  • Initial display: 20 tasks per section
  • "Load More" button: Loads next 20 tasks
  • "Load All" button: Shows all tasks at once
  • Counter shows: "Showing X of Y tasks"

Auto-Refresh

The Today page automatically refreshes:

  • When you mark a task complete
  • When you change task status
  • When you defer a task
  • Every few minutes to catch changes made elsewhere

Technical Implementation Files:

  • Backend queries: /backend/modules/tasks/queries/metrics-queries.js
  • Suggested tasks logic: /backend/modules/tasks/queries/metrics-computation.js
  • Frontend component: /frontend/components/Task/TasksToday.tsx
  • Task model: /backend/models/task.js

Document Version: 1.0.0 Last Updated: 2026-03-14 Audience: Developers, AI assistants, and end users