Upstash vs Clerk
71 token-level differences between these two design systems.
Background
#f5f5f5 → #131316 Text
#022c22 → #ffffff Brand
#00bc7d → #6c47ff Border
#e5e7eb → rgba(255,255,255,0.10) Display font
Inter Tight → geistSans Body size
16px → 16px colors 62 changed
~
bg #f5f5f5 → #131316 ~
bg-deep #ffffff → #0a0a0c ~
surface #ffffff → #22222a ~
brand #00bc7d → #6c47ff ~
brand-soft #00bc7d1f → rgba(108,71,255,0.16) ~
text #022c22 → #ffffff ~
text-muted #71717b → #9394a1 ~
text-soft #52525b → #7c7d8a ~
text-faint #a1a1aa → #5e5f6b ~
border #e5e7eb → rgba(255,255,255,0.10) ~
border-soft #0000000f → rgba(255,255,255,0.06) ~
border-strong #d4d4d8 → rgba(255,255,255,0.16) ~
border-brand #00bc7d66 → #6c47ff ~
success #00bc7d → #36d576 ~
success-bg #eef4f1 → rgba(54,213,118,0.12) ~
warning #d97706 → #ffb547 ~
danger #dc2626 → #ef2236 ~
danger-bg #fee2e2 → rgba(239,34,58,0.12) ~
info #007a55 → #3acefa +
bg-section #1a1a1f +
bg-elevated #22222a +
surface-soft #1a1a1f +
surface-strong #2c2c35 +
surface-glass rgba(255,255,255,0.04) +
text-strong #ffffff +
text-on-brand #ffffff +
text-link #6c47ff +
text-link-hover #8a6dff +
brand-deep #5938e0 +
brand-light #8a6dff +
brand-pale #a48efc +
accent-pink #ff7a8a +
accent-cyan #3acefa +
accent-yellow #fff066 +
hairline-cta #42434d +
on-dark #ffffff +
scrim rgba(0,0,0,0.72) +
shadow-card rgba(0,0,0,0.32) +
shadow-elev rgba(0,0,0,0.48) +
shadow-glow-violet rgba(108,71,255,0.32) −
bg-mute #eef4f1 −
surface-alt #fafafa −
surface-code #09090b −
brand-hover #00a86f −
brand-pressed #009963 −
on-brand-ink #022c22 −
accent #007a55 −
accent-hover #006647 −
accent-soft #065f4633 −
link #007a55 −
link-hover #006647 −
selected #00bc7d26 −
disabled #d4d4d8 −
disabled-text #a1a1aa −
text-heading #022c22 −
text-disabled #a1a1aa −
shadow-ambient rgba(2,44,34,0.06) −
shadow-standard rgba(2,44,34,0.10) −
shadow-elevated rgba(2,44,34,0.14) −
shadow-glow rgba(0,188,125,0.22) −
warning-bg #fef3c7 −
info-bg #eef4f1 typography 5 changed
~
display {"family":"Inter Tight","size":128} → {"family":"geistSans","size":72} ~
h1 {"family":"Inter Tight","size":56} → {"family":"geistSans","size":64} ~
h2 {"family":"Inter Tight","size":40} → {"family":"geistSans","size":40} ~
body {"family":"Inter","size":16} → {"family":"geistSans","size":16} ~
label {"family":"SFMono-Regular","size":13} → {"family":"soehneMono","size":13} radius 2 changed
~
button 8px → 6px ~
card 20px → 16px spacing 2 changed
~
lg 48px → 32px ~
xl 96px → 48px