- Decision builder (title, options, criteria, scores)
- Deterministic weighted-sum scoring engine
- Results view with rankings and breakdown
- Sensitivity analysis (weight swing)
- LocalStorage persistence
- Demo decision preloaded
- JSON export
- URL sharing (base64)
- Accessibility (keyboard nav, ARIA)
- CI/CD pipeline
- Documentation
- Dark mode (full dark theme with FOUC prevention)
- Charts (Recharts bar + stacked breakdown)
- URL sharing (lz-string compression with base64 fallback)
- Keyboard shortcuts (1/2/3 tabs, ? help, arrow-key tabs, Home/End)
- PDF export (via window.print)
- Error boundary with recovery UI
- Security headers (HSTS, X-Frame-Options, CSP, etc.)
- Confirmation dialogs on destructive actions
- Coverage thresholds in CI
- Dependabot + CODEOWNERS
- robots.txt + sitemap.xml
- ARIA tab-panel linkage + roving tabindex + modal focus trap
- Runtime schema validation (type guards for localStorage & URL decode)
- aria-describedby on score, weight, and sensitivity inputs
- aria-live announcer for CRUD operations and tab switches
- PWA web app manifest
- Decision timestamps (created/updated) with relative time display
- Print stylesheet (all panels visible, clean layout)
- Cross-browser E2E testing (Chromium + Firefox + WebKit)
- Automated axe-core accessibility testing in E2E suite
- Real-time validation feedback (inline errors/warnings in Builder, badge, Results guard)
- Lazy-loaded ScoreChart + React.memo for performance
- Score matrix keyboard grid navigation (arrow keys)
- Loading skeleton during decision switching
- Lighthouse CI with performance/accessibility thresholds
- Decision templates (8 templates: career, purchase, hiring, etc.)
- Undo/redo support (50-entry history, Ctrl+Z/Ctrl+Shift+Z, toolbar buttons)
- Component test suite (236 tests across 15 files)
- JSON/CSV import with preview and drag-and-drop
- Production error telemetry (localStorage diagnostics, Sentry-ready)
- Visual regression testing (Playwright screenshots, 7 visual tests)
- Drag-and-drop reordering for options/criteria (@dnd-kit, keyboard-navigable)
- Mobile-optimized score matrix (MobileScoreCards component)
- Tooltips for criterion descriptions (CriterionTooltip, accessible)
- Shareable read-only links (
/shareroute with compact encoding) - Supabase backend (behind feature flag,
NEXT_PUBLIC_SUPABASE_URL) - User accounts (GitHub + Google OAuth via Supabase Auth)
- Cloud sync (local-first with last-write-wins bidirectional merge)
- localStorage → cloud migration (one-click MigrationBanner)
- Offline fallback (app works fully without connectivity)
- Collaborative decision-making (real-time)
- Decision history / versioning
- Shareable decision links (server-stored, short URLs)
- Monte Carlo sensitivity analysis
- "What-if" scenarios (WhatIfPanel — compare weight configurations)
- Decision journal (journal.ts — track entries over time)
- PDF export (window.print with print stylesheet)
- Comparison mode (side-by-side decisions)
- Performance optimization (lazy loading, React.memo, code splitting)
- i18n (internationalization — en/fr/es)
- Comprehensive test suite (1,502 tests across 82 files)
- Security audit (security headers, CSP, RLS, input validation)
- Accessibility audit (WCAG 2.1 AA — axe-core E2E + a11y tests)
See CONTRIBUTING.md for how to help with roadmap items.