Skip to content
Prabhu Raja
Design Tools · Product Management

UXLedger — UX Debt Register

A living register for tracking UX debt — usability, accessibility and content issues — instead of letting them scatter across spreadsheets and get ignored.

RoleDesigner & Builder
TimelineApr – May 2026
IndustryDesign Tools / Product Management
Built withNext.jsClaude CodeVercel
01

Context

UX debt — the small usability, accessibility and content issues that pile up in a product — usually lives in scattered spreadsheets, sticky notes or Slack threads. It rarely gets prioritised against feature work because there's no shared, visible record of how much of it exists or how severe it is. UXLedger set out to give that debt the same visibility a bug tracker gives engineering debt.

02

The Challenge

The product needed to make UX debt feel measurable and prioritisable — not just a list — while staying lightweight enough that logging an issue takes seconds, not a form-filling exercise. It also needed to speak to two audiences: designers logging issues day-to-day, and stakeholders who only look at the dashboard.

03

Research

Studied how engineering teams track technical debt and bugs, and adapted that model — severity, status, ownership — to the specific shape of UX issues, which don't always map cleanly onto a bug tracker's fields.

Competitive audit of bug and issue trackersDomain research into UX debt as a conceptIterative prototyping of the scoring model
04

Insights

The key findings that shaped the direction.

01

A health score makes debt legible to non-designers

A single 0–100 score, colour-coded by severity, gives stakeholders a number to track without needing to read every logged issue.

02

Logging friction kills adoption faster than anything else

If capturing a UX issue takes longer than noticing it, it never gets logged — the entry flow had to be closer to a quick note than a bug report form.

03

Trends matter more than snapshots

A single health score answers 'how bad is it now' — a 30-day trend answers the more useful question, 'is it getting better.'

05

Design Strategy

How decisions were made.

01

Borrow the bug-tracker mental model

Structured debt items around severity, status, category and ownership — fields designers and engineers already understand from issue trackers.

02

Score for stakeholders, log for designers

Built a weighted 0–100 health score as the stakeholder-facing summary, while keeping the underlying logging flow fast and low-friction for designers.

03

Make every project its own register

Supported multiple projects with custom colour coding and row-level data isolation, so a register never mixes debt across unrelated products.

04

Design for the export, not just the dashboard

Built CSV and Excel export from the start, since most stakeholder conversations about UX debt still happen in a roadmap doc or a review deck, not inside the tool.

05

Let AI own the scaffolding, not the scoring model

Built the register and dashboard with Claude Code as a development partner, but treated the weighted health-score logic as a design decision I owned directly — AI accelerated the build, not the judgement calls that made the score trustworthy.

06

Solution

A UX debt register combining fast issue logging with a scored, trend-tracked dashboard, so usability and accessibility issues get the same visibility as engineering bugs.

A full debt register with severity, status, category and ownership fields
A weighted 0–100 health score, colour-coded and tracked over a 30-day trend
Rich-text descriptions, file attachments and threaded comments per issue
CSV and Excel export for roadmap and stakeholder reviews
Selected screens

A look at the work.

UXLedger landing page hero

The live product at uxledger.vercel.app.

UXLedger feature grid showing debt register, health score and dashboards

The full register — debt logging, health score, dashboards and export in one tool.

UXLedger product health score card showing a score of 82 with severity breakdown

The product health score — a single number backed by a visible severity breakdown.

07

Design System Thinking

This project wasn't designed as a one-off — here's how it connects back to the system.

Components

A reusable issue-card and register-row component shared between the logging flow and the dashboard views.

Tokens

A severity colour scale applied consistently across the register, the health score and the trend chart.

Patterns

A filter-sort-search pattern that works identically across every project's register, so switching projects doesn't mean relearning the tool.

Governance

Row-level security isolating each project's data per account, with an audit trail on every comment and status change.

08

Impact

UXLedger shipped as a working register that replaces the spreadsheet-and-sticky-note approach most teams default to for tracking UX debt, with a health score that makes the backlog visible to people who never open the tool.

0–100Weighted health score
30-dayTrend visualisation
2Export formats: CSV & Excel
09

Reflection

The hardest part wasn't the register — it was the scoring model. A health score is only useful if people trust the number, which meant the weighting had to be transparent enough that a sceptical stakeholder could see why a 62 wasn't just made up.

Next projectUXBeacon — Automated UX Audit Tool
View project

Have a complex challenge? Let's design something meaningful.