The Rams Design Score is a single number from 0 to 100 that summarizes the design quality of a codebase's UI layer. It's applied the same way every time, against the same ruleset, by the same reviewer.
It reads code the way a senior designer reviewing a pull request would. It does not run the app, take screenshots, or evaluate visual aesthetics.
Rams reviews the UI code itself: the .tsx, .jsx, .vue, .svelte, and styling files that produce the rendered interface. Issues are evaluated against 174 rules across 8 design categories, each catching a specific failure mode.
Every rule lives in one of these. Each specialist reviews the diff with its own rules, the way a real design team splits the work.
Semantic HTML, keyboard navigation, screen-reader compatibility, focus management, ARIA correctness, color contrast on text. Things WCAG 2.2 AA cares about and that real users with disabilities run into.
Hardcoded hex values that bypass design tokens, contrast ratios, semantic color usage, hover and focus states.
Heading hierarchy correctness, font scale adherence, line height, font weight, text truncation patterns.
Whether layout values come from a scale (4/8/16) or are arbitrary one-offs. Padding and margin consistency. Gap usage.
Component composition, prop API design, primitive reuse, design-system token leaks, in-line style overrides.
Loading states, empty states, error handling, destructive action confirmations, form patterns, scroll behavior.
Animation duration and easing, prefers-reduced-motion support, infinite loops, layout shifts caused by animations.
Patterns specific to AI-generated UI code: arbitrary radius values, magic numbers, overly defensive null checks, unused props, copy-paste duplication.
Each issue carries a severity. The score deducts points by severity, and any critical caps the score at 59, so a 60 or above always means zero critical issues. The number answers one question: is this ready to merge?
Critical: breaks core functionality, blocks accessibility, ships visible bugs. Heaviest deduction.
Serious: degrades quality, leaks design-system intent, will cause user-facing regressions. Moderate deduction.
Moderate: minor polish or convention issue. Light deduction. (Excluded from the public score view to focus attention.)
Brighter is safer to ship. A high score means the UI clears the bar with no critical issues left standing.
The score has a boundary on purpose. These belong to other tools, and reading them into a design number would only blur it.
The homepage widget scores a representative slice. For continuous review on every pull request, the GitHub App reads exactly the files that changed.
When you score a public repo via the homepage widget, Rams pulls up to 30 UI files prioritized by location (app/, pages/, components/) and reviews them as a representative sample. For continuous review on every pull request, install the GitHub App. It reviews exactly the files that changed.
The rubric is intentionally stable. We don't loosen rules to flatter scores, and we don't retroactively rescore repos when the rubric changes. Every change is logged below.
When rules are added or weights revised, it lands here. The counts and areas are public; the rule text stays in the engine.
7 rules added from the field: grid and CTA alignment, list markers, icon glyphs, hover scoping, mobile tables, state-stable layouts. Reviewer precision improved: the engine now reads a codebase’s own token layer and palette before judging, so design-system values are never flagged as hardcoded.167174 rules
1 craft rule added: a colored border on one side of a rounded container reads as an unedited AI accent treatment.166167 rules
47 rules added (animation-library behavior, web fonts, color science, accessibility, and code-craft checks) and 25 existing rules sharpened with tighter detection.119166 rules
Scoring: any critical issue now caps the score at 59, so a score of 60 or above always means zero critical issues.
Re-reviews now verify fixes: resolved findings are named and the score recovers. 10 rules added, 5 sharpened across UX, motion, and typography.109119 rules
Initial public methodology: 109 rules across 8 categories, severity-weighted scoring.
Free on public repos. Rams reviews every pull request against these 174 rules and posts inline fixes.
Frameworks