Skip to main content
Back to Gallery

Raycast · Full Page

Raycast

The productivity-tool landing that treats the web page like a macOS system preference window — and commits to the bit with every shadow, radius, and easing curve. Raycast ports native-app discipline to the browser: skeuomorphic keyboard-key shadows, half-pixel precision radii, a dual-family typography duet, and an open 80-variable token system that reads like a Figma Tokens Studio export.

raycast.com/Added
Raycast Full Page — desktop screenshot

Editorial disclaimer

Editorial noteThis entry documents observable design-language patterns for educational transfer and AI-agent briefing. Screenshots and trademarks are property of their respective owners. AI2 Design is not affiliated with or endorsed by the featured brand. Inspiration here is about language and rhythm — do not reproduce brand identity, logo, product copy, or proprietary features.

Curator verdict

Why we catalogued it?

Raycast is the rarest kind of productivity-tool landing — one that treats the web page itself as a macOS system preference window, then commits to the bit with every shadow, radius, and easing curve. We catalogued it because it demonstrates what happens when a brand refuses to translate its native-app discipline into standard web vernacular: skeuomorphic keyboard-key shadows, half-pixel precision radii, a typography duet that pairs Inter with SF Pro Text like they were always supposed to share a page, and an open 80-variable token system that reads like a Figma Tokens Studio export. If you are shipping for a developer audience that loves keyboard shortcuts more than they love marketing copy, this is the reference that shows what macOS-fluent looks like on the web.

Design decisions observed

  • Native-app discipline on the web — Raycast doesn't translate; it ports. Every visual primitive (key caps, hover states, menu rows) borrows vocabulary from the macOS Human Interface Guidelines, not web marketing.
  • Dual-family typography as a statement — Inter and SF Pro sharing a page sounds like a style collision, but Raycast treats them as complementary voices: Inter for editorial text, SF Pro for chrome and controls. That's how they make the page feel Apple-native without breaking web accessibility.
  • Open token system as brand transparency — eighty named CSS variables exposed in plain sight, with semantic naming (rounding/spacing/color) that mirrors their internal design tokens. That's how they signal 'we design with engineers at the table'.
  • Skeuomorphic shadow grammar — keyboard-key components use inset highlights plus outset depth shadows, a pattern abandoned by most post-2018 interfaces. Raycast revives it because their product is literally about keyboard keys.
  • Atmospheric multi-gradient hero language — twelve gradients, mostly radial, arranged like stage lighting rather than hero decoration. Each section gets its own color temperature (purple, cerulean, coral) against the same near-black base.
  • Signature ease-out-expo timing — the cubic-bezier curve repeats six times across their transition stack, giving every micro-interaction the same buttery snap. That consistency is invisible individually, decisive in aggregate.

What to study

  • How Raycast ports macOS vocabulary to the web without looking like a mid-tier Mac port — most 'Apple-inspired' landings ape the blur and round corners then stop. Steal the mindset: the details Apple cares about (keyboard-focus rings, inset key shadows, menu-row hover states) are where the signal lives.
  • How eighty exposed CSS variables read as confidence instead of leakage — most engineering-heavy design systems bury their tokens inside class abstractions. Raycast publishes them in plain view. Steal the mindset: radical token transparency is a recruiting signal.
  • How skeuomorphic key-cap shadows survive in 2026 without feeling retro — inset highlight plus outset depth, calibrated at sub-pixel scales (0.5px, 1.5px). Steal the mindset: skeuomorphism is fine when the product is literally the metaphor.
  • How a dual-family typography system avoids the 'style conflict' trap — Inter and SF Pro have enough x-height parity that they share line heights gracefully. Steal the mindset: font pairing works when the grids align, not when the moods match.

What to avoid

  • Don't port macOS visual language if your product isn't keyboard-native — Raycast earns the discipline because they literally make a keyboard-driven launcher. A SaaS dashboard with key-cap shadows will look like an AI-generated mockup.
  • Don't expose eighty design tokens without maintaining them — open variable systems require ruthless discipline. The day a `--spacing-3-5` appears as a hack, the whole system loses credibility.
  • Don't copy the skeuomorphic shadow pattern without the native-feeling motion — inset shadows without the matching ease-out-expo micro-timing feel static and dated.

Taste notes

The page reads like a preference pane that escaped into a browser — every surface elevated by a breath of inset light, every corner radius chosen with a millimeter's intentionality, every hover state timed to the same unhurried curve. There's no attempt to prove warmth or humanity; the craft itself is the invitation. You can almost hear the click of keys as you scroll. It's the rare kind of landing that makes you want to close the tab not because it failed to hold attention, but because you want to go use the product.

Lineage & references

  • The dark-native productivity cohort's most macOS-loyal member — shoulder-to-shoulder with Arc (browser reimagined), Warp (terminal modernized), and Superhuman (email accelerated). All four refuse the cross-platform compromise; Raycast goes furthest by also shipping the visual vocabulary.
  • Part of the 2024+ keyboard-renaissance generation — where Linear taught teams to design for keyboard shortcuts, Raycast builds the infrastructure for keyboard workflows. Sibling taste cohort: Replit, Cursor, Codeium — all tools that treat keystrokes as the primary input modality.
  • The quiet elder of open-token marketing landings — Figma's thirty CSS variables felt radical in 2023; Raycast's eighty makes it category-standard. Future tokens-transparent landings (Vercel, Plasmic, Framework X) borrow this posture of radical engineering transparency.

Design language brief

Paste-ready for your agent.

A typed design system transfer brief — philosophy, tokens, rules, techniques, and fitness checks. Your agent reads the whole language, not just the pixels.

Philosophy

Dark-native macOS-fluent productivity landing. Near-black backgrounds (#000000, #1b1c1e) + high-contrast white text (#ffffff) + muted gray secondary ladder (#9c9c9d, #6a6b6c, #434345) + brand-tier accents (#63a1ff sky-blue, #ff6363 coral / `--red-dark`, #2e6fcf navy-link) plus supporting one-off spots (#9ebed7 muted blue, #59d499 mint, #d72a2a scarlet, #452324 cabernet warm, #02193b deep navy panel). Dual-family typography: Inter (editorial body + headings) + SF Pro Text (chrome + controls) + JetBrains Mono + GeistMono (code). Open 80-variable CSS token system (--rounding-none/xs/sm/normal/md/lg/xl/xxl/full · --spacing-none/0-5/1/1-5/2/2-5/3/4/5/6/7). Primary ease-out-expo cubic-bezier(0.23, 1, 0.32, 1) carries most micro-interactions, supported by cubic-bezier(0.215, 0.61, 0.355, 1) and cubic-bezier(0.165, 0.84, 0.44, 1) for slightly different acceleration profiles. Skeuomorphic keyboard-key shadow grammar: inset white highlight (0 1px 0 0 rgba(255,255,255,0.05)) + outset depth (0 1.5px 0.5px 2.5px rgba(0,0,0,0.4)). Twelve gradients (radial-dominant, stage-lighting arrangement).

Main prompt

Build a dark-native productivity-tool marketing landing that feels like a macOS preference pane escaped into a browser. Use near-black grounds (#000000 to #1b1c1e), high-contrast white text, and a muted gray secondary ladder. Pair Inter (editorial) with SF Pro Text (chrome) — treat them as complementary voices, not a style conflict. Expose design tokens as CSS variables with semantic naming (--rounding-*, --spacing-*). Use radial gradients as stage-lighting per section (purple, cerulean, coral against the same base). Time every micro-interaction with cubic-bezier(0.23, 1, 0.32, 1) ease-out-expo. Shadow grammar must be skeuomorphic where the product warrants it (keyboard-key inset + outset depth). Radii small and precision (2-9px, half-pixel 2.5px allowed).

Overview

Layout
Section-based dark surfaces with atmospheric gradient backdrops; narrow content columns stacked vertically
Content width
Multi-container ladder (320 / 364 / 400 / 456 / 488 / 1204px) — narrow reading content + one wide feature band
Framing
Near-black page ground (#000000) + section-level radial gradient overlays; no horizontal rules, atmospheric color shifts mark transitions
Grid strength
Low — flex-driven stacks, grid reserved for feature rows + comparison tables

Color philosophy

Dark-native high-contrast palette with atmospheric accent spots — white-on-black editorial with stage-lighting gradient moments. No light mode detected in extract.

Mode strategyDark-only production. No light theme detected in extract — Raycast web landing commits to dark-native single mode.
  • Background dominant: #000000 (near-black) · #1b1c1e (card surface) · #2f3031 (elevated surface)
  • Text: #ffffff (primary, 3448 freq) · #9c9c9d (secondary) · #6a6b6c (tertiary) · #434345 (borders/dividers)
  • Brand-tier accents (recurring surface): #63a1ff sky-blue (25 measured uses) · #ff6363 coral / `--red-dark` (12 uses) · #2e6fcf navy-link (9 uses)
  • Supporting one-off accents (1-5 measured uses each): #9ebed7 muted blue · #59d499 mint · #d72a2a scarlet · #452324 cabernet warm · #02193b deep navy panel
  • Gradient-only stops (not in palette colors[] but resolved through atmospheric gradients): rgb(86, 194, 255) cerulean (#56c2ff), rgb(17, 18, 20) → rgb(12, 13, 15) panel ramp, rgb(18, 18, 18) → rgb(13, 13, 13) page atmosphere
  • Gradient hero stops use rgba() with alpha — depth through transparency, not solid tones

Gradients (paste-ready)

radial-gradient(75% 75% at 50% 91.9%, rgb(18,18,18) 0px, rgb(13,13,13) 100%) — base page atmosphere
linear-gradient(135deg, rgb(86,194,255) 0%, rgb(19,138,242) 100%) — cerulean CTA / feature highlight
linear-gradient(137deg, rgb(17,18,20) 4.87%, rgb(12,13,15) 75.88%) — card surface gradient
radial-gradient(84.6% 73.49% at 50% 26.51%, rgba(4,63,150,0.7), rgba(6,18,37,0.25)) — hero stage light
radial-gradient(86.88% 75.47% at 50% 24.53%, rgba(82,48,145,0.7), rgba(26,11,51,0.14)) — purple section stage light
radial-gradient(85.77% 49.97% at 51% 5.12%, rgba(255,150,150,0.11), ...) — coral accent section
Total 12 gradients (mostly radial) — stage-lighting arrangement, not hero decoration

Typography rules

  • Primary body + editorial: Inter (self-hosted Next.js /static/media/ *.woff2, weights 100-900 variable)
  • Chrome + controls: SF Pro Text + SF Pro (macOS-native stack fallback for controls, menus)
  • Code: JetBrains Mono + GeistMono (weights 100-900 / 100-800 variable)
  • Next.js font optimization active: Inter Fallback + JetBrains Mono Fallback detected (local metric fonts)
  • Weight ladder deployed: 400 · 500 · 600 · 700 (full operational range within 100-900)
  • Body: 16px / 18.4px line-height / w400 (tight 1.15 ratio — editorial density)
  • Display-5: 32px / 36.8px / w400 (large editorial display, not display-jumbo)
  • Heading-large: 24px / 27.6px / w500 · SF Pro Text (chrome heading — macOS feel)
  • Heading-medium: 23.75px / 27.3125px / w500 · SF Pro Text (half-pixel precision!)
  • Small: 13-14px ladder with letterSpacing 0.1-0.3px tight tracking
  • Strategy: mixed (self-hosted subset via Next.js /static/media/ + fallback metric-matched locals)

Spacing rules

  • Extract-derived scale: 2 · 4 · 6 · 8 · 10 · 12 · 15 · 20 · 22 · 24 · 29 · 32 (multi-base 2+5+7+10 mixed progression)
  • CSS var spacing tokens (canonical): --spacing-none (0) · --spacing-0-5 (4) · --spacing-1 (8) · --spacing-1-5 (12) · --spacing-2 (16) · --spacing-2-5 (20) · --spacing-3 (24) · --spacing-4 (32) · --spacing-5 (40) · --spacing-6 (48) · --spacing-7 (56)
  • Container ladder: 320 · 364 · 400 · 456 · 488 · 1204px — narrow reading columns + one wide feature band
  • Gutters flex-driven, no fixed grid column system

Design tokens

Palette, type, and space — all agent-readable.

16 colors · hex / rgb / hsl / oklch

Save PNG
  • backgroundreverse-background
    72%
    • HEX#FFFFFF
    • RGBrgb(255, 255, 255)
    • HSLhsl(0, 0%, 100%)
    • OKLCHoklch(100.00% 0.0000 89.76)
  • foregroundBase-Black
    10%
    • HEX#000000
    • RGBrgb(0, 0, 0)
    • HSLhsl(0, 0%, 0%)
    • OKLCHoklch(0.00% 0.0000 0.00)
  • foregroundgrey-400
    5%
    • HEX#434345
    • RGBrgb(67, 67, 69)
    • HSLhsl(240, 1%, 27%)
    • OKLCHoklch(38.36% 0.0033 286.24)
  • foregroundgrey-300
    4%
    • HEX#6A6B6C
    • RGBrgb(106, 107, 108)
    • HSLhsl(210, 1%, 42%)
    • OKLCHoklch(52.72% 0.0020 247.86)
  • foregroundgrey-200
    3%
    • HEX#9C9C9D
    • RGBrgb(156, 156, 157)
    • HSLhsl(240, 1%, 61%)
    • OKLCHoklch(69.31% 0.0014 286.36)
  • backgroundgrey-50
    3%
    • HEX#E6E6E6
    • RGBrgb(230, 230, 230)
    • HSLhsl(0, 0%, 90%)
    • OKLCHoklch(92.49% 0.0000 89.76)
  • accent
    1%
    • HEX#02193B
    • RGBrgb(2, 25, 59)
    • HSLhsl(216, 93%, 12%)
    • OKLCHoklch(21.91% 0.0725 257.33)
  • foregroundgrey-500
    1%
    • HEX#2F3031
    • RGBrgb(47, 48, 49)
    • HSLhsl(210, 2%, 19%)
    • OKLCHoklch(30.86% 0.0023 247.90)
  • accent
    0%
    • HEX#63A1FF
    • RGBrgb(99, 161, 255)
    • HSLhsl(216, 100%, 69%)
    • OKLCHoklch(70.93% 0.1526 258.49)

Inspector

Tab through the captured artifacts.

Six observable layers — page structure, fonts, breakpoints, z-index, gradients, motion — kept paste-ready alongside the tokens above.

Page structure

Semantic hierarchy at a glance.

Depth-first walk of meaningful sections — header, navigation, main regions, articles, footer. 7 nodes captured; depth capped at 6 for readability.

  • body
  • └─ div
  • └─ div
  • └─ div
  • └─ div
  • └─ div
  • └─ Form

Accessibility

WCAG contrast matrix.

194 combinations · 84 pass AA · 48 pass AAA · APCA Lc shown alongside WCAG 2.1 ratio for draft WCAG 3 awareness.

PreviewfgbgRatioNormalLargeAPCA LcContext
Aa
#FFFFFF#00000021.00AAAAAA-108background on foreground
Aa
#000000#FFFFFF21.00AAAAAA+106foreground on background
Aa
#FFFFFF#02193B17.43AAAAAA-106background on accent
Aa
#02193B#FFFFFF17.43AAAAAA+104accent on background
Aa
#FFFFFF#1B1C1E17.05AAAAAA-106background on foreground
Aa
#1B1C1E#FFFFFF17.05AAAAAA+104foreground on background
Aa
#000000#E6E6E616.83AAAAAA+91foreground on background
Aa
#E6E6E6#00000016.83AAAAAA-92background on foreground
Aa
#E6E6E6#02193B13.97AAAAAA-90background on accent
Aa
#02193B#E6E6E613.97AAAAAA+89accent on background

Image strategy

Asset loading & format policy.

Observable image posture — total count, lazy-loading ratio, and format mix. Hero image is measured above the fold.

Total30Lazy loaded55%unknown80

Hero image

https://www.raycast.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fquick-ai-mobile.a1c4047f.png&w=3840&q=70
Format
UNKNOWN
Dimensions
0×0
Loading
lazy
srcset
yes
srcset descriptor
/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fquick-ai-mobile.a1c4047f.png&w=1080&q=70 1x, /_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fquick-ai-mobile.a1c4047f.png&w=3840&q=70 2x
Page type
  • Full Page
Industry
  • productivity
  • developer-tools
  • saas
Theme
  • dark
Added
  • 2026-04-23

Frequently asked

Questions people ask about Raycast

Answers are pulled from the curator verdict and design brief — the same text your AI agent sees when it paste-reads this page.

What makes Raycast's marketing page feel like a system preference window?

Raycast ports native-app discipline to the browser. Skeuomorphic keyboard-key shadows, half-pixel precision radii, a dark-native macOS-fluent palette, an Inter + SF Pro duet, and eighty open CSS variables make the page read like a Figma Tokens Studio export — not a marketing site pretending to be one.

What fonts and palette does Raycast use?

Inter carries body and UI; SF Pro Display handles headlines — a duet rather than a trio. The palette is dark-native: rich blacks, warm greys, and a single vibrant accent. Eighty CSS variables expose the full token system, including the keyboard-key shadow stack that's become Raycast's signature.

Can I apply Raycast's native-app aesthetic to a web product?

The transfer is technical: adopt ease-out-expo easings, skeuomorphic inset shadows for pressable surfaces, half-pixel radii, and the Inter/SF Pro weight cadence. The AI2 Design agent brief contains the exact cubic-bezier values and shadow tokens — paste-ready so your Claude or Cursor session can scaffold surfaces that feel native on the first generation.

Editorial credit

Featured Sponsor slot — your brand here

Dedicated logo placement — no rotation, on every export.

Become a sponsor

COMPARE THIS WITH

AI2 Design counts anonymous traffic always — no cookies, no identifiers, no fingerprinting. For optional session insights (PostHog, EU region) — page funnel, performance — turn on opt-in analytics below. Cookie policy.