Every Google Tasks list on one board, grouped by due date

By General Input

Pull every Google Tasks list onto one screen, grouped into overdue, today, this week and later, with today's calendar right beside it.

Integrations

  • Google Tasks
  • Google Calendar

Type

App

Categories

  • Personal Productivity
  • Operations

Build me an app that shows every task from every one of my Google Tasks lists on one screen at the same time. Google Tasks only ever shows me one flat list at a time, so I never see the whole picture. The app should open straight onto a single board, with no landing page in front of it.

Loading the data: on open, call google-tasks List Task Lists to get all of my lists, then call List Tasks for each list with showCompleted set to true and showHidden set to true, following the page tokens until every task in every list has been fetched. Assign each list a stable colour, and show that colour along with the list name on every single row, so I always know which list a task came from without having to click it.

Bucketing: group every task by its due date into Overdue, Today, This week, Later and No date, computed in my local timezone. Make the No date bucket prominent rather than tucked at the bottom, because that is where everything quietly rots. Give every bucket a count in its header. Completed tasks should still appear, but muted and visually separated within their bucket so they do not crowd out the open work, and they must still be clickable so I can reopen one I ticked by mistake.

Filtering: put a list filter at the top of the board where I can multi select one or two lists and have the whole board re-bucket to just those. Include a toggle to hide completed tasks entirely, and a refresh control that re-pulls everything.

Capacity column: on the right hand side, show today's Google Calendar events using List Events against my primary calendar, bounded to today with singleEvents set to true and ordered by start time. List each event with its time and title, and above them show a single headline number for how many hours I actually have left today, calculated as the time between now and the end of my day minus the time still booked by events that have not finished yet. This is so I can see my real capacity before I decide what to take on.

Every row must be workable in place without opening a separate screen. Tick a task done or reopen it by calling Update Task with status completed or needsAction. Push the due date with one click to tomorrow or to next Monday by calling Update Task with a new due date. Edit the title and the notes inline, saving with Update Task. Delete a task with Delete Task behind a small confirmation. Add a brand new task straight into any list with Create Task, with the target list chosen from a dropdown and an optional due date.

Moving a task between lists: Google Tasks has no move operation, so implement it as Create Task on the target list carrying over the title, notes, due date and status, followed by Delete Task on the source list. Only delete from the source after the create on the target has succeeded, so a failure can never lose a task.

Important constraint to bake in everywhere: the Google Tasks API discards the time portion of a due date and keeps only the date. Never show a time picker anywhere in the app. Due dates are dates only.

Make the edits feel instant. Apply each change to the board optimistically, then roll the row back and show an inline error on that row if the write fails. Do not throw up a full page error or reload the whole board for a single failed edit.

Add a Groom my backlog button that kicks off a background agent. The agent reads all of my lists and tasks with List Task Lists and List Tasks, then selects every task that is not completed and is either overdue or has gone more than thirty days without being updated. For each one it proposes exactly one of three things: a rewritten title that names a concrete next action instead of a vague noun, a new realistic due date, or deletion. Each proposal carries a one line reason. The agent writes all of its proposals back into the app's own storage as a review queue with a pending status. The agent itself must never call Update Task or Delete Task.

Review queue: give the app a review panel showing the pending proposals grouped by type, each showing the current value next to the proposed value plus the reason and which list the task lives on. I want to approve or reject each one individually, and also select all within a group and approve or reject in bulk. Only when I approve does the app write the change, calling Update Task for a retitle or a new due date, or Delete Task for a deletion. Mark applied proposals with a timestamp and keep rejected ones in history so the agent does not keep proposing the same thing on the next run. Show a live status while the agent is working, and on the board show when grooming last ran and how many proposals are waiting for me.

The rule that matters most: nothing the agent proposes is ever written to Google Tasks until I have approved it.

Related prompts

Explore more prompts
Front desk appointment confirmation board for the next 3 daysAppointment confirmation board built on WhatsApp repliesPlan a field sales day around drive time and neglected accountsShort-term rental turnover console for Home AssistantRun your HoneyBook booking season from one calendarA keep in touch board built on your Google ContactsSee who actually joined your recurring Google Meet callsSee which of your recurring meetings are one person talkingHiring debrief room where every rating shows its evidenceSee which meetings are wrecking your sleep and recovery