taste-skill / Compare styles / Linear vs Loops

Linear vs Loops: design style comparison

Linear is Dark Precision SaaS & Industrial Craftsmanship; Loops is Warm Editorial SaaS & Newsreader Serif Craft. Both were extracted with the same taste-skill pipeline, so every value below is directly comparable. 18 of 18 tracked tokens differ.

Side-by-side preview

Linear style · dark
Ship the product, not the pixels.
Preview text rendered with the extracted Linear canvas, text, muted and accent tokens.
Sign up Get started
Card on extracted card recipe
Accent link: #5E6AD2 · border rgba(255, 255, 255, 0.08)
Loops style · light
Ship the product, not the pixels.
Preview text rendered with the extracted Loops canvas, text, muted and accent tokens.
Start for free Start for free
Card on extracted card recipe
Accent link: #7D1B0C · border #E9E8E6

Key differences

Token table

TokenLinearLoops
Canvas#08090A#FDFDFC
Surface#0F1011#F9F9F8
Text#F7F8F8#21201C
Muted text#8A8F98#63625E
Accent#5E6AD2#7D1B0C
Borderrgba(255, 255, 255, 0.08)#E9E8E6
Heading fontInter VariableNewsreader
Body fontInter VariableInter
Mono fontBerkeley MonoSF Mono
H164px / -0.022em (w510)44px / -0.02em (w500)
Button radius9999px40px
Button height32px44px
Most-used radius8px6px
Most-used shadowrgba(255, 255, 255, 0.05) 0px 0px 0px 1px insetrgba(33, 32, 28, 0.04) 0px 1px 2px 0px
Easingcubic-bezier(0.25, 0.46, 0.45, 0.94)cubic-bezier(0.16, 1, 0.3, 1), cubic-bezier(0.16, 1, 0.3, 1)
Duration0.7s0.42s, 0.42s
Container max-width1436px1296px
Modedarklight

Primary buttons

RenderedHeightPaddingRadiusBackground / TextBorderFont
Sign up32px0px 12px9999px#E5E5E6
#08090A
1px solid #E5E5E613px / 510
Get started44px0px 20px9999px#E5E5E6
#08090A
1px solid #E5E5E616px / 510
Contact sales44px0px 20px9999pxrgba(255, 255, 255, 0.05)
#F7F8F8
none16px / 510
RenderedHeightPaddingRadiusBackground / TextBorderFont
Start for free44px10px 20px40px#21201C
#0000EE
none12px / 400
Start for free52px14px 18px999px#FFF4EC
#FDFDFC
none12px / 400
Start for free40px8px 14px999pxtransparent
#FDFDFC
none12px / 400

Which style should you pick?

Pick Linear if you want Ultra-dark #08090A carbon canvas + 1px rgba(255,255,255,0.08) translucent hairlines + Inter Variable 510 weight (-0.022em) + Berkeley Mono telemetry — signals: dark, precision, linear, hairline-borders, bento-grid, issue-tracker, micro-shadows, indigo, carbon-black, dashboard, ai-agents.

Pick Loops if you want Warm ivory #FDFDFC / #F9F9F8 canvas with #E9E8E6 stone borders, #21201C espresso ink, refined 44px Newsreader serif display headlines (-0.02em), and #7D1B0C oxblood / #21201C pill CTAs — signals: light, warm, editorial, serif, newsreader, email, loops, ivory.

Shared traits: saas, minimalist.

Rules that differ

Linear never:

  • NEVER use pure #000000 for large card surfaces or pure #FFFFFF for body text—always use #08090A canvas, #0F1011/#141516 cards, and #F7F8F8 primary text.
  • NEVER use thick opaque gray borders (border-gray-700, border-zinc-600)—always use 1px translucent white hairlines (border-white/[0.08] or border-white/[0.05]).
  • NEVER use standard font-bold (700 or 800) on large headlines—Linear uses custom variable medium weight (font-[510]) with tight negative tracking (tracking-[-0.022em]) and leading-none (1.0).

Loops never:

  • NEVER substitute generic uncalibrated gray backgrounds for Loops’s exact #FDFDFC canvas and #F9F9F8 surface pairing.
  • NEVER replace Newsreader display typography or ignore its signature scale (44px / -0.02em (w500)).
  • NEVER use thick opaque borders that clash with #E9E8E6 (1px solid #E9E8E6).

Go deeper

Values extracted from https://linear.app and https://loops.so. Not affiliated with either company.

Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.

See taste-skill Pro →