The Challenge
Daily execution relied on two parallel systems: Notion for task management and multiple calendars (meetings and time‑blocked work sessions). Many calendar entries effectively were tasks, which blurred the line between what needed doing and when to do it.
The friction was clarity and timing: seeing the current task, the event in progress, the next commitment, and exactly how many minutes were available — without bouncing between apps or breaking focus.
Before: Fragmented Workflow
- Constant app switching between calendar and Notion
- Meetings-as-tasks lived apart from task lists
- Unclear time remaining before the next event
- Context switching eroded focus between calls
- No single place to see the “in‑progress” task
- Lacked a dependable return point after each meeting
After: Unified Daily Control
- Tasks + calendar combined in one dashboard
- Current and next events always visible
- Prominent “minutes until next event” countdown
- In‑progress Notion task pinned on the right
- Immediate focus resumption between meetings
- Lower cognitive load; fewer context swaps
The Solution
A two‑part system: a macOS app (Swift) aggregates tasks from Notion and events from local calendars (Outlook and Apple Calendars) and exposes a local JSON web service. A front‑end dashboard (Node.js + React with Material Design) runs in Docker and consumes that service to render an always‑on view on a small monitor.
Key Features
Unified Task & Schedule
Notion tasks and calendar events appear together in a single, distraction‑free interface.
Always‑On Display
Lives on a dedicated small monitor to anchor the workday.
Live Countdown
Shows exact minutes until the next calendar event.
In‑Progress Task
Right‑hand panel pins the current Notion task for instant refocus.
Local & Private
All processing and data stay on the Mac; no external cloud dependency.
Between‑Meeting Flow
Gives a stable return point after every call or event.
How It Works
Swift app fetches Notion tasks and merges Outlook/Apple Calendar data locally.
Exposes a lightweight JSON API on the Mac for low‑latency consumption.
React (Material Design) front‑end in Docker renders current + next events and the live countdown, with the in‑progress task pinned.
Between meetings, glance once to resume the exact task without hunting through apps.
The Dashboard in Action

Live dashboard view: Current task on the right, upcoming meetings on the left with countdown timer
Technical Implementation
Designed for reliability, privacy, and immediacy — everything runs locally for zero‑latency feel and full data ownership.
Technology Stack
Architecture Highlights
- Local‑first, private architecture — all data stays on the Mac; no third‑party cloud.
- Swift aggregation service — unified JSON feed for tasks + calendars.
- React + Material Design UI — glanceable typography and layout for distance viewing.
- Dockerized front‑end — consistent, portable deployment to the display.
- Low‑latency UX — live countdown timer and real‑time status of current/next events.
Results & Impact
The dashboard became a single source of truth. At a glance, it shows the event in progress, what’s next, and the exact time remaining — making it effortless to return to the right Notion task between commitments.
Measurable Outcomes
- Zero guesswork — live countdown removes timing uncertainty.
- Faster context recovery — in‑progress task is always visible.
- Reduced cognitive load — no app toggling to regain the thread.
- Consistent daily rhythm — a reliable anchor between meetings.
Why This Approach Works
This project follows the Evans Consulting Services playbook: identify operational friction, build a purpose‑built tool, and deliver a working system that immediately reduces overhead.
Rather than adapting to a generic productivity app, the solution fits the real workflow: local data, glanceable UI, and an always‑ready display.
Key Success Factors
- Built around the actual day — mirrors how work really happens between meetings.
- Single‑purpose interface — no clutter; only what drives focus.
- Local control & privacy — zero external dependencies.
- Low friction to glance — fast, readable, and always available.

