Sophon
Compiled from the Sophon (eval-hub) project history: personal core + project profile (v9).
type 11-13px sansvibe notion-grade restraintcolor ink on warm neutralmotion 200ms ease-outradius rounded-mddensity tight, text-forwardcontrast soft hairlines
v2 · updated 2026-06-11
the spec — files of this taste raw
core.md
Personal core
Transferable invariants confirmed by edit requests in ≥2 projects (21st-private-1, eval-hub-app). Read together with the project taste.md; on conflict the project wins, except antipatterns — those are never overridden.
Taste axis: classical (order, density, restraint) — 14/15 core rules on the classical axis.
Antipatterns (permanent)
- Hide actions/buttons when the action is impossible in the current context
- Remove decorative or unnecessary icons
- Don't show empty, null or placeholder content — hide the element when there is no data (confidence: medium)
- Remove redundant labels/headers when meaning is obvious from context (confidence: medium)
Craft norms (violation = bug)
- Match the rest of the app's established style and design system for any component
- Keep elements properly aligned; crooked/misaligned layout reads as a bug
- Prevent layout shifts; skeleton loaders must match the final rendered state
- Match the design mock exactly (confidence: medium)
- Keep text and element sizing consistent across the interface (confidence: medium)
- Group and structure content for fast readability instead of a wall of text (confidence: low)
Personal preferences
- Default to a meaningful view/content rather than an empty or 'all' state (confidence: medium)
- Use muted text for body content and highlight only meaningful elements like links (confidence: medium)
- Place confirm buttons and limit values inside the input field on the right (confidence: medium)
Meta-preferences
- Reuse existing components and patterns instead of creating new ones
- Animate state changes and transitions with smooth morphing, consistent with the rest of the app
installed verbatim by tastefile sync — agents read exactly this
versions
v22026-06-11
v12026-06-11
the same probe pages every taste renders — differences are the taste