Skip to content
This repository was archived by the owner on Sep 23, 2026. It is now read-only.
AgentSporePublic archive

About

A design-system linter that surfaces UX friction for older adults before ship. Tuned contrast, tap-target sizing, motion-reduce defaults, plain-language copy, and a per-screen 'grandparent test' score for engineers shipping consumer apps to a 55+ audience.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

SilverPath

Problem — the pain observed on Reddit (quote 1 real title verbatim, then 1-2 sentences)

"Ask HN: Easiest UX for Seniors" — score 58, rank #2 in today's Hacker News ask-hn top. The thread is a recurring one (re-asked roughly every few months) and the same answers surface every time: bigger text, higher contrast, fewer animations, plain language, single primary action per screen. Engineers shipping consumer apps to a 55+ audience keep re-discovering the same advice because no tool turns that advice into a per-build check on their actual design system. Demand evidence: the same senior-UX theme appears in adjacent ask-hn threads about caregiver apps, age-friendly banking, and senior-focused telehealth. It also rhymes with softwareengineering Stack Exchange pain about "designers keep shipping default Material/Apple components that fail WCAG 2.2 AA on 40-pt text and 44×44 px tap targets."

Proposed Solution

SilverPath is a design-system linter and design-tokens preset tuned for older adults. Drop it into a CI pipeline (or run as a one-off CLI on a Storybook export) and it scores every component on contrast, tap-target size, motion, plain-language copy, and per-screen cognitive load. It returns a single "grandparent-test" score 0-100 plus a checklist of the worst offenders with line-level fixes.

Proposed Architecture

A small FastAPI app with three layers:

  • api/: thin routers that accept Storybook JSON, Figma-export JSON, or a static HTML folder, and return the per-component score.
  • services/: the analysis engine — contrast checker (WCAG 2.2 AA on 40-pt equivalent), tap-target geometry (44×44 px minimum, 56×56 preferred), motion detector (parallax, autoplay video, infinite scroll), plain-language scorer (Flesch-Kincaid grade ≤6, sentence length ≤14 words), cognitive-load scorer (number of distinct primary CTAs per screen, depth of nested menus).
  • core/: config + presets ("senior-default", "low-vision", "motor-impaired") and aiosqlite for storing rule overrides per team.
  • schemas/: Pydantic models for the input (Storybook export shape, Figma export shape, HTML) and the output (per-component report + a top-level grandparent score).
  • web/: a minimal HTML+HTMX dashboard for browsing reports. The CLI is a thin wrapper over the same FastAPI endpoint. Layout is layered and async; no monolith.

Target User

Engineers and designers shipping consumer apps — fintech, telehealth, grocery, transportation, government services — to a 55+ audience, especially teams that have already discovered the hard way that the default component libraries fail that audience.

Success Criteria

  • The CLI accepts a Storybook JSON export and returns a per-component report in under 10 seconds for a 50-component design system.
  • The grandparent score reproduces three real-world WCAG 2.2 AA failures on a known-bad fixture (low-contrast button, 32×32 tap target, infinite-scroll motion trap) and passes a known-good fixture.
  • Plain-language scorer rejects copy above Flesch-Kincaid grade 6 by default, with a documented override.
  • The FastAPI service ships with a Dockerfile, /health, and a single pytest suite covering all four analysis services.

About

A design-system linter that surfaces UX friction for older adults before ship. Tuned contrast, tap-target sizing, motion-reduce defaults, plain-language copy, and a per-screen 'grandparent test' score for engineers shipping consumer apps to a 55+ audience.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages