A quick recap: I’ve been experimenting with a “GTD copilot” that runs as a personal daemon and does the boring parts of planning: scanning inboxes, creating properly-scoped tasks, looking ahead at the calendar, and sending a single clean briefing.

This post is a field report: the minimal structure that made the system useful, plus the guardrails that stopped it turning into task spam.


Why this works (the GTD pain points)

If you’re doing GTD seriously, the pain is rarely “I don’t know what to do.” It’s:

  • Capture friction: email, calendar, and random thoughts are split across apps.
  • Review fatigue: you know you should review daily/weekly, but it’s easy to skip.
  • Backlog entropy: duplicates, vague tasks, and lists that become graveyards.
  • No “single briefing”: you end up opening 5 apps to answer “what’s tomorrow?”

Clawdbot + Google Workspace + Telegram makes these problems scriptable.


High-level architecture

Clawdbot Gateway runs on a server and acts as the always-on brain.

On top of that, add:

  • Telegram as the chat surface (fast input/output)
  • Google Tasks as the task database (simple, ubiquitous)
  • Google Calendar as the hard constraints
  • Gmail as a major inbox to triage
  • (Optional) GitHub if you want code/project hooks

Automation is driven by cron jobs (for “rituals”) and optionally heartbeat checks (for lightweight polling).


The GTD structure (simple, but strict)

1) Three lists that cover 90% of life

I use three Google Tasks lists:

  • Today — what I will actually execute
  • This Week — the near-term backlog (7-day horizon)
  • Later — everything else

This keeps the system legible. If you add more lists, you tend to add complexity before you add clarity.

2) Prefixes to keep tasks searchable

Use consistent prefixes in task titles. Example set:

  • [Prep] (prepare for an event/meeting)
  • [Setup] (systems work)
  • [Blog] (writing)
  • [Family] (home/family logistics)

Prefixes make it easy to filter and keep tasks from feeling like an unstructured pile.


The daily ritual (evening, not morning)

The biggest win is a single daily planning session that runs automatically in the evening and prepares tomorrow.

What the daily cron does

  1. Email processing (last 24h)

  2. Week-aware calendar look-ahead

    • check tomorrow + next 7 days
    • create prep tasks for anything that needs lead time
  3. Select tomorrow’s focus

    • move 1–2 tasks from This Week → Today
    • avoid “20 priorities” syndrome
  4. Proactive work (tiny starter step)

    • do a small concrete step on 1–2 tasks
    • save the output as a file (outline, checklist, links)
  5. Send a briefing

    • tomorrow’s meetings
    • a weather note (if mornings matter)
    • top focus tasks
    • new tasks created/updated
    • proactive work done
  6. End with a mind-clear prompt

    • one question that helps capture remaining open loops

Weather: included in the evening briefing

If you run in the morning (or just plan commutes), adding tomorrow morning weather to the evening briefing is surprisingly useful. It turns “I’ll decide tomorrow” into “I know what to wear / whether to go.”


Weekly ritual (Sunday)

Weekly review is where GTD either becomes a system or becomes a guilt machine.

A Sunday cron run can:

  • run the daily steps with a wider lens
  • choose 5–7 items from Later → This Week
  • rewrite vague tasks into concrete next actions
  • sanity-check the week against calendar constraints

The goal is not more tasks—it’s a curated week.


The anti-chaos rules (non-negotiable)

1) No-duplicates policy

Before creating a task from an email, the bot searches across Today / This Week / Later.

  • If the task already exists: update/move it.
  • Only create a new task if it’s truly new.

This single rule prevents list explosion.

2) Triage rules for email

You need explicit rules so the assistant doesn’t turn your inbox into 300 tasks:

  • Ignore: promos/newsletters
  • Ignore: noisy automated alerts you never act on
  • Create tasks only for:
    • direct requests
    • time-sensitive items
    • important service notifications that require action

3) Quiet hours and rate limits

If you add inbox checks, rate-limit them and respect quiet hours. Otherwise, the system becomes annoying and you’ll disable it.


A reading list that stays “alive” (Google Sheets)

I also maintain a reading list as a Google Sheet, not as a static note.

Practical columns:

  • Title (as a clickable link)
  • Author
  • Status (to-read | reading | done)
  • Priority
  • Next action (small and specific)

The key is the “next action” column: it turns a wishlist into something you can actually start.


What I learned the hard way (ops)

Automation tends to surface boring failure modes.

One example: small root volumes fill up, services crash, and everything looks “mysteriously broken.” Add a daily disk free space check that alerts before things get critical. I’ve written up how AWS spending and disk management plays out in practice — including a disk crisis that forced me to add a 150GB volume.


Closing thoughts

This setup is not about delegating your life to a bot. It’s about reducing friction so you actually do the GTD behaviors that work:

  • capture quickly
  • review consistently
  • choose a small set of real priorities
  • take a first step

If you already have GTD habits, Clawdbot is a force multiplier. If you don’t, it will mostly automate procrastination.


References