Workspace Dashboard
One intelligent queue for all your tasks — Jira, GitHub, Gmail, Slack, and more, scored by deadline, energy, and context.
- Python
- FastAPI
- React
- SQLite
- Vite
Workspace Dashboard is a self-hosted productivity hub that pulls tasks from every tool you already use — Jira, GitHub, Asana, Todoist, Gmail, Slack — and collapses them into a single prioritized queue. No more tab-switching to triage. No more things slipping because they lived in the wrong app.
The core is a weighted scoring engine that ranks every open task by what actually matters right now, not just the label someone slapped on a ticket last week.
The scoring engine
Each task gets a priority_score ∈ [0.0, 1.0] computed from six factors:
| Factor | Default weight | How it works |
|---|---|---|
| Deadline urgency | 30% | Exponential decay e^(−0.3 × days_remaining). Overdue = 1.0, no date = 0.0 |
| Source priority | 20% | Jira > GitHub > Asana > manual > Todoist > email > Slack (fully configurable) |
| Dependency blocking | 20% | Tasks blocking N others get a min(0.2 × N, 1.0) boost |
| Energy level match | 15% | Matches task complexity to your current energy window |
| Context switching cost | 10% | Tasks in your most recently active project cluster score higher |
| Manual override | 5% | Explicit [0.0, 1.0] pin per task |
All weights are user-configurable via sliders. The engine rescores on a schedule and on demand.
Energy-aware scheduling — your day is divided into energy windows (e.g. 09:00–12:00 = High, 14:00–16:00 = Medium). High-complexity tasks surface when you’re sharp; admin and low-complexity tasks surface when you’re running low. Set the schedule once, or override it manually at any time.
Integrations
Each integration syncs via OAuth or API token and writes into the unified task store:
- Jira — OAuth 2.0 via Atlassian; pulls assigned issues from configured projects
- GitHub — OAuth; pulls assigned issues and open PRs awaiting your review
- Asana — token-based; pulls tasks from connected workspaces
- Todoist — token-based
- Gmail — OAuth read-only; surfaces starred/labeled emails as tasks
- Slack — pulls saved items and reminders
Sync logs track start time, completion time, records upserted, and any errors per run.
Task queue features
- Score breakdown on demand — expand any task to see exactly why it ranked where it did, factor by factor
- Snooze — hide a task until a specific date/time; it surfaces automatically
- Defer — remove from queue until a deferred date; no manual re-triaging
- Manual priority override — bump or suppress any task without touching the source system
- Filter by source, project, tags, or complexity
Analytics
- Daily focus time tracking (focus start / end events)
- Context switch count per day
- Completion rate and throughput over selectable periods
- GitHub-style activity heatmap
- Average task age
Self-hosted, no SaaS dependency
Runs entirely on your machine. Single SQLite database — no external infrastructure. Secrets encrypted at rest locally. No subscription, no data leaving your machine.
workspace-dashboard/
backend/ # FastAPI + SQLAlchemy + APScheduler
frontend/ # React + Vite SPA
desktop/ # optional Electron wrapper
Production: the frontend builds to static assets served directly by the FastAPI app on a single port. One process, no reverse proxy required.