Skip to content

irishmango/clawdesk

Repository files navigation

ClawDesk

TPM Signal Intelligence Platform — aggregate signals, surface converging issues, and make evidence-backed roadmap decisions.


What it is

ClawDesk is a decision-support tool for Technical Program Managers. It ingests signals from engineering sources (GitHub, Sentry, Slack, Telemetry, CI, etc.), clusters related signals into actionable items, tracks technical debt, and helps teams decide what belongs on the roadmap — backed by evidence, not gut feel.

The core loop:

Signals → Clusters → Tech Debt / Roadmap Candidates → Decision

Tech stack

Layer Technology
Framework Next.js 15 (App Router)
Language TypeScript 5
Styling Tailwind CSS 4 + CSS custom properties
Icons Lucide React
Persistence LocalStorage (demo)

Getting started

npm install
npm run dev

Open http://localhost:3000.


Pages

Overview /

Dashboard with KPI cards (Active Signals, Open Clusters, Tech Debt Items, Decision Readiness %) and live feeds for intake, converging clusters, alerts, and the tech debt hotlist.

Intake /intake

Triage view for all incoming signals. Signals arrive from sources like GitHub, Sentry, Telemetry, Ops, and Discord. Each signal carries a source, type, module, impact (1–5), and confidence level.

Clusters /clusters

Lists signal clusters — groups of related signals that have converged around a common issue. Each cluster has a score, signal count, trend sparkline, and status (Escalate / Watch / Investigate / Resolved).

Cluster Detail /clusters/[id]

Full decision brief for a single cluster: problem statement, evidence, options, tradeoffs, signals table, timeline, and decision controls. Clusters can be promoted directly to Roadmap Candidates from here.

Tech Debt /tech-debt

Tracks debt items using a financial metaphor — principal (size of the debt: S/M/L/XL) and interest (ongoing cost per week). Each item has a details panel with summary, evidence, decision readiness checklist, owner assignment, and success metric definition.

Roadmap Candidates /roadmap-candidates

Evidence-backed shortlist of problems ready for roadmap consideration. Supports a full decision workflow: Proposed → Approved / Deferred / Rejected. Clusters promoted from the Clusters view appear here automatically.

Integrations /integrations

Manage connections to external tools: GitHub, Sentry, Slack, Jira, Grafana, Discord, Linear, Datadog, and more.


Project structure

app/                        # Next.js App Router pages
├── layout.tsx              # Root layout (Sidebar + TopBar)
├── page.tsx                # Overview dashboard
├── intake/
├── clusters/
│   └── [id]/               # Cluster detail (dynamic route)
├── tech-debt/
├── roadmap-candidates/
└── integrations/

components/
├── sidebar.tsx             # Left nav
├── topbar.tsx              # Top bar with search + Add Signal
├── add-signal-modal.tsx    # Manual signal creation modal
├── promote-modal.tsx       # Promote cluster to roadmap candidate
└── openclaw-panel.tsx      # OpenClaw AI agent status panel

lib/
├── store.ts                # LocalStorage helpers
└── mock/                   # Typed mock data
    ├── signals.ts
    ├── clusters.ts
    ├── debt.ts
    ├── candidates.ts
    └── alerts.ts

Key concepts

Signal — A raw data point from any source (crash report, GitHub issue, Slack message, telemetry spike). Carries source, type, module, impact, and confidence.

Cluster — A group of signals that converge around a shared problem. Scored by severity and signal density. The primary unit for decision-making.

Tech Debt Item — A known code quality issue tracked with principal (size) and interest (ongoing cost per week). Can be promoted to a roadmap candidate.

Roadmap Candidate — A cluster or debt item with enough evidence to warrant a roadmap decision. Goes through a Proposed → Approved / Deferred / Rejected workflow.

OpenClaw — The AI agent layer that classifies incoming signals, surfaces converging clusters, and pre-fills decision briefs.


Data

All data is currently mocked in lib/mock/. The interfaces are designed to match a real backend schema — replacing the mock imports with API calls is the primary integration path.

Promotions (cluster → roadmap candidate) are persisted to localStorage so they survive page refreshes within a session.


Scripts

npm run dev      # Development server (localhost:3000)
npm run build    # Production build
npm start        # Start production server
npm run lint     # ESLint

About

ClawDesk is a decision-support tool for Technical Program Managers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors