1. Work
  2. AI agents and governed actions

AI work-prioritisation and status planner

Ranks all open work transparently, turns the ranking into protected calendar time, and generates status updates and meeting decks on demand and on a schedule.

Problem

A technical lead working across several project boards, a packed calendar and recurring reporting had no objective way to decide what to work on next, protect time for it, or produce status updates and meeting decks without hours of manual collation.

Goal

Rank all open work transparently, turn the ranking into protected calendar time, and generate status updates, leadership summaries and meeting decks automatically, both on demand and on a schedule.

My role

Sole engineer and primary user: designed the scoring model and built the planners, the report builders, the scheduled cloud jobs and an offboarding module.

Solution

A local command-line toolkit driven by an AI coding assistant, sharing one library with a set of scheduled serverless container jobs that run the same logic unattended and deliver results through chat.

How it works

A shared library wraps the project-management API (with pagination and connection pooling), a calendar client and a secret-manager helper.

A scoring engine ranks every open task on six weighted factors: stated priority, due-date proximity, strategic category, risk or impact, estimated effort (quick wins score higher) and staleness since the last update. Each factor contributes a capped score, a missing field gets a neutral middle value so an incomplete task is neither buried nor inflated, and the per-factor breakdown is kept with every score so any ranking can be explained. Scores map into tiers.

A planner finds real free time. It merges overlapping calendar events, ignores declined, cancelled and free-marked events, treats all-day events as busy, and applies per-day working hours converted between two time zones, then places the top-ranked tasks into the gaps as colour-coded focus blocks.

Report builders aggregate velocity, overdue ageing, workload and board health into status updates, leadership summaries and self-contained HTML slide decks. Board health is set by explicit rules (the share of overdue work, overdue high-priority items, stalled completions and tasks with no due date), and every status carries the plain-language reasons that produced it. Weekly velocity is computed from tasks already fetched rather than from the tracker's search, which is rate-limited and capped.

The AI assistant never writes to the tracker directly. It emits structured instructions to a small executor that skips any subtask that already exists (including completed ones), records each action in an append-only log and reports per-item results.

Scheduled jobs run the same code without a person present. A daily watcher finds the relevant meeting on the calendar and enqueues a delayed task; at the right moment a builder renders the deck, uploads it to object storage and sends a chat message with the link.

A separate module walks a departing person's access out of each tool, through APIs where they exist and browser automation where they do not, with a confirm-before-remove step and a check up front that every tool it needs can be reached, so an offboarding never stops halfway.

Technical challenges

Making a ranking trustworthy enough to act on: bounded factors, neutral defaults for missing data and a visible per-factor breakdown, all unit-tested.

Finding genuine free time in a calendar full of overlapping, all-day and optional events across two time zones, without disturbing meetings.

Letting an AI assistant change a live tracker without creating duplicates: an instruction executor with duplicate checks and an action log.

Health status people can trust: explicit rules that state their reasons, and velocity computed without the tracker's capped search.

Timing deck generation relative to a meeting discovered on the calendar, using delayed tasks rather than fixed schedule times.

Automating admin tools that have no API safely, and avoiding a half-finished offboarding.

One codebase serving both an interactive assistant and unattended cloud jobs.

Capabilities

  • Weighted, explainable task scoring sorted into tiers
  • Free-time detection and focus-block scheduling
  • Rule-based board health with stated reasons
  • Duplicate-safe AI-driven tracker actions with an action log
  • Status updates and leadership summaries
  • HTML slide decks built automatically
  • Scheduled delivery to chat, timed around meetings
  • A guided offboarding checklist with confirmation steps and a check up front

Technology

  • Python and Flask
  • Project-management REST API with OAuth
  • REST calendar API with OAuth
  • Chat bot messaging
  • Serverless container jobs and services
  • Task queue and scheduler
  • Secret manager and object storage
  • Docker
  • Playwright and pytest
  • AI coding assistant as the interactive front end

Impact

Manual triage and report collation were replaced by a repeatable daily plan and automatically delivered decks and summaries, and offboarding became a checklist-driven process with a confirmation step before anything is removed. No metrics are claimed.

Skills demonstrated

  • Algorithm and scoring design
  • Productivity automation
  • API integration
  • Serverless job orchestration
  • Report and slide generation
  • Browser automation
  • Identity lifecycle safety
  • Testing

Demo

Planned

Forty fake tasks across three fictional boards and a fake week of calendar events. The demo shows each task's factor breakdown and total score, the tiered list, focus blocks dropped into free slots, and a generated one-page status deck with fake velocity and overdue charts.

Not built yet. A demo here uses only invented names and data.

All work