Personal project

Attn

A local, triage-first dashboard that turns fragmented work signals into a clear view of what needs attention now.

Type
Web application
Year
Client
Personal project
My role
  • Product design
  • Interaction design
  • Full-stack development

My work was spread across tickets, pull requests, comments, todos and recorded meetings. Each tool stored its own information well, but none answered the more useful question: what needs me right now?

I built Attn to bring those signals into one calm, ranked decision surface. It is centred on work, with a separate personal layer for calendars, notes, reminders, voice memos and email.

One attention model

Attn normalises each source into a shared triage model: title, status, priority, due date, reason for attention and a reference back to the original item.

This makes different signals comparable without losing their provenance. A GitHub review request can sit beside a high-priority Linear or Shortcut story, an overdue todo or an action captured from a meeting.

Priority and urgency remain separate. Importance does not automatically mean “today”, allowing the dashboard to rank work without flattening everything into a single arbitrary score.

Triage without another source of truth

Attn is deliberately read-only. It never changes tickets, pull requests, messages or calendar events in their original systems.

Snooze, dismiss and pin actions live in a local overlay. Each action records a fingerprint of the item’s meaningful state. If a deadline, comment, owner, status or priority changes, a dismissed item resurfaces automatically. Minor edits remain quiet.

This makes it possible to clear noise confidently without creating another system that needs maintaining.

Meetings as context

Meeting recordings are ingested alongside structured work data. Decisions, commitments and follow-ups become searchable and can sit beside the tickets, pull requests and todos they relate to.

This gives Attn useful context that may not yet have reached the project tracker.

Grounded AI

The AI layer produces three focused outputs:

  • An attention brief explaining what needs action and why
  • A daily digest covering what shipped, changed or arrived
  • Risk flags for work that appears stalled, unowned or late

Outputs are generated from current local state, recent changes, meeting context and triage decisions. References are validated against synced data, and recommendations are marked stale when an underlying item changes.

The model helps interpret state, but is never trusted to invent it.

Designed for trust

Every item includes a “Why am I seeing this?” view showing its source, priority, unanswered mentions, overlay state and resurfacing rule.

Health indicators distinguish a genuinely quiet day from a stale or failed sync. Previous data and AI outputs remain available when an update fails rather than being replaced with partial results.

The Today view supports quick keyboard triage, while scheduled jobs catch up after the laptop wakes. Notifications are reserved for newly arrived high-priority items and unanswered mentions.

Technical approach

Attn runs locally with FastAPI, SQLite and a vanilla JavaScript interface. Source adapters bring project trackers, GitHub, todos, meetings and personal services into the shared model. The sync engine compares meaningful fingerprints, writes state atomically and records an append-only changelog.

Credentials use read-only scopes and remain on-device. Work and personal groups keep their sources, settings, schedules and AI instructions isolated.

Outcome

Attn does not try to replace the tools where work happens. It provides the missing layer above them: a focused, explainable view of what deserves attention next.