Rams MCP · The full engine, now in your coding agent
minpeter on GitHub

minpeter/minpeter.v2

Reviewed against Rams quality heuristics: accessibility, color, typography, spacing, components, motion, UX, and craft.

30 files reviewed·July 25, 2026

View on GitHub

Top fix

Replace pt-[6.5rem] with a spacing-scale token on the page root

See the fix

Verdict

A one-page site with strong accessibility bones undone by two arbitrary values sitting in an otherwise disciplined scale. The biggest risk is that off-scale spacing and type quietly erode the calm, considered feel the rest of the page earns.

Files Rams reviewed

app/[locale]/73e3da8fa7a397e7b1bc36efabb2cbb265524a75d7d5e6d1620b9e10e694257/page.tsx

app/[locale]/blog/[...slug]/page.tsx

app/[locale]/blog/page.tsx

app/[locale]/layout.tsx

app/[locale]/page.tsx

app/[locale]/resume/page.tsx

app/[locale]/show/dynamic-hacked-text/page.tsx

app/[locale]/show/model-card-artwork/page.tsx

app/[locale]/show/new-year-clock/page.tsx

app/[locale]/show/page.tsx

app/[locale]/show/tech-stack-ball/page.tsx

app/[locale]/show/unstructured-0828/page.tsx

app/[locale]/show/unstructured/page.tsx

app/[locale]/show/yet-another-tempfiles/page.tsx

components/not-found-page.tsx

app/[locale]/show/new-year-clock/layout.tsx

app/[locale]/blog/[...slug]/mdx-components.tsx

app/[locale]/blog/[...slug]/post-footer.tsx

app/[locale]/blog/[...slug]/post-toc.tsx

app/[locale]/blog/list-fallback.tsx

app/[locale]/blog/list.tsx

app/[locale]/blog/loading.tsx

app/[locale]/blog/og/[...slug]/route.tsx

app/[locale]/resume/loading.tsx

app/[locale]/show/dynamic-hacked-text/animated-text.tsx

app/[locale]/show/loading.tsx

app/[locale]/show/new-year-clock/countdown.tsx

app/[locale]/show/tech-stack-ball/animated-stack.tsx

app/[locale]/show/tech-stack-ball/playground-wrapper.tsx

app/[locale]/show/unstructured/styles.module.css

98/100

Typography

1 serious
Design SystemSerious

app/[locale]/page.tsx:75

Connect heading uses off-scale font-size and letter-spacing values

The "Connect" section heading (h2#connect-title) is styled with text-[13px] and tracking-[-0.02em], both arbitrary values with no equivalent Tailwind scale token, while sibling text elsewhere on the page (text-sm, text-base) uses the scale correctly.

Why it matters

A one-off 13px/-0.02em pairing that exists nowhere else in the type scale means this heading can silently diverge in weight or size the next time the scale changes, and future contributors have no signal for whether 13px was intentional or a stray value.

Fix

Replace arbitrary font-size and tracking with the nearest scale tokens so this heading stays governed by the same type system as the rest of the page.

<h2
  className="mb-5 text-[13px] text-muted-foreground tracking-[-0.02em]"
  id="connect-title"
>
<h2
  className="mb-5 text-xs text-muted-foreground tracking-tight"
  id="connect-title"
>
98/100

Spacing

1 serious
Design SystemSerious

app/[locale]/page.tsx:39

Arbitrary pt-[6.5rem] on the page root breaks the spacing scale

The root <section className="home-page ... pt-[6.5rem] pb-12"> sets top padding with an arbitrary value instead of a scale step, while pb-12 in the same class list is a proper token. One property on the page's outermost container is off-scale and the other is on-scale.

Why it matters

Every arbitrary value like 6.5rem is a number nobody else can reuse or reason about; the next person spacing a section has to guess whether 6.5rem is meaningful or a one-off, and small drifts like this compound into a page where vertical rhythm no longer maps to a system.

Fix

Replace arbitrary padding with the nearest spacing-scale token so top spacing stays traceable to the same system as pb-12.

<section className="home-page mx-auto flex w-full max-w-lg flex-1 flex-col pt-[6.5rem] pb-12">
<section className="home-page mx-auto flex w-full max-w-lg flex-1 flex-col pt-24 pb-12">

Accessibility

No issues found

Color

No issues found

Components

No issues found

Motion

No issues found

UX

No issues found

Craft

No issues found

Working well

  • The signature-mark logo Image uses alt="" paired with aria-hidden="true" while the wrapping Link carries aria-label={t("homeLabel")}: exactly one accessible name reaches the screen reader instead of duplicate or empty announcements. That's the correct pattern for a decorative image inside a labelled interactive wrapper.
  • The page composition stays minimal and legible: a header with logo, name, and intro, a nav of section links, and a single Connect block for socials, with no extra chrome competing with the content. That restraint keeps the read order obvious without added hierarchy work.

Scored July 25, 2026 with Rams Engine v0.0.3 · Engine changelog
First scored July 23, 2026: 81/100. This rescore on v0.0.3: 96/100.

This page is an automated design review of minpeter/minpeter.v2’s UI code: 30 files read against 291 versioned rules covering accessibility, color, typography, spacing, components, UX, motion, and craft. The score is out of 100; confirmed criticals cap it — one at 59, two at 49, three or more at 39.

More design scores

Score your own repo.

Free on public repos, no account. The same engine that scored this page reads your UI code and mints a score page like this one.

Public repos only. The full engine reviews the UI code and mints a public score page — we email you the link too. Already-scored repos open instantly.

Or get a design review on every pull requestInstall Rams