taste-skill / Style guides / Inngest style

How to build a UI in the Inngest style

Inngest (inngest.com) reads as Warm Obsidian Stone & Swiss Whyte / Coral-Cobalt Contrast — Warm obsidian stone #0C0A09 canvas with rgba(28,28,28,0.85) surfaces, 72px WhyteV1 architectural display headings (0.95 line-height), CircularXXMono code, and #F76246 coral + #013CF6 cobalt accents. This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.

Source: computed styles extracted from https://www.inngest.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Inngest is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Inngest.

Live preview with Inngest tokens

Inngest style · dark
Ship the product, not the pixels.
Preview text rendered with the extracted Inngest canvas, text, muted and accent tokens.
START FREE READ THE DOCS
Card on extracted card recipe
Accent link: #F76246 · border rgba(255, 255, 255, 0.08)

Color palette (dark mode)

RoleValueTailwindUsage
canvasBg#0C0A09bg-[#0C0A09]Primary Inngest page canvas
surfaceElevated#1C1C1Cbg-[#1C1C1C]Primary elevated card & bento surface
surfaceSecondaryrgba(244, 96, 74, 0.09)bg-[rgba(244,96,74,0.09)]Secondary interactive container / hover fill
borderPrimaryrgba(255, 255, 255, 0.08)border-white/[0.08]Primary structural divider (1px rgba(255,255,255,0.08))
borderSecondaryrgba(255, 255, 255, 0.08)border-white/[0.08]Secondary nested module or pill border
textPrimary#FFFFFFtext-whiteHero H1, section H2 & high-contrast foreground
textMuted#A8A29Etext-[#A8A29E]Lead paragraphs, descriptions & muted labels
accentPrimary#F76246bg-[#F76246]Primary interactive CTA & brand highlight (6px)
accentSecondary#F76246text-[#F76246]Secondary badge, syntax or telemetry highlight

Typography

Heading WhyteV1 · body Inter / Whyte · mono CircularXXMono

LevelComputed spec
Hero H172px | line-height 68.4px (leading-[0.95]) | letter-spacing -1.44px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font WhyteV1
Section H2 (Primary)64px | line-height 70.4px (leading-[1.1]) | letter-spacing -2.24px (tracking-[-0.035em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font WhyteV1
Section H2 (Secondary)40px | line-height 50px (leading-[1.25]) | letter-spacing -0.4px (tracking-[-0.01em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Whyte Inktrap
Card / Feature H332px | line-height 32px (leading-[1]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Whyte
Body Copy (Paragraph)20px | line-height 30px (leading-[1.5]) | letter-spacing -0.2px (tracking-[-0.01em]) | weight 400 (font-[400]) | color #B3B3B3 (text-[#B3B3B3]) | font CircularXX
Monospace / Code Block13px | line-height 20px (leading-[1.54]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #9B9B9B (text-[#9B9B9B]) | font CircularXXMono

Spacing, radius, depth and motion

Token familyMost frequent values (count on page)
Border radius6px ×19 · 10px ×18 · 8px ×6 · 9.026px ×3
Box shadowrgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(28, 28, 28) 0px 0px 0px 2px ×14 · rgb(255, 255, 255) 0px 0px 0px 2px inset ×7 · rgb(102, 189, 139) 2px 0px 0px 0px inset ×1
Grid / flex gap10px ×16 · 32px ×13 · 12px ×13 · 4px ×11 · 16px ×11 · 24px ×8
Container max-width1440px ×11 · 1280px ×1 · 640px ×1 · 900px ×1
Section vertical padding160px / 160px ×7 · 88px / 80px ×1 · 64px / 10px ×1 · 48px / 48px ×1
Easingcubic-bezier(0.2, 0.8, 0.2, 1) ×54 · cubic-bezier(0.7, 0, 0.15, 1) ×37 · cubic-bezier(0.22, 0.61, 0.27, 1) ×30
Duration0.3s ×48 · 0.36s ×37 · 0.5s ×20 · 0.4s ×19

Component recipes

Buttons (4 distinct)

RenderedHeightPaddingRadiusBackground / TextBorderFont
START FREE42px0px 20px6px#FFFFFF
#000000
none12px / 600
READ THE DOCS42px0px 20px6pxtransparent
#FFFFFF
none12px / 600
START FREE32px0px 20px6px#FFFFFF
#000000
none12px / 600
START FREE42px0px 20px6px#F65C4F
#FFFFFF
none12px / 600

Cards (2 distinct)

#BackgroundBorderRadiusPaddingShadow
1transparentnone6px20px 20pxnone
2transparentnone8px20px 16pxnone

Rules: what never to do in the Inngest style

Copy-paste kit

CSS variables
:root {
  /* Inngest style — extracted from inngest.com by taste-skill */
  --canvas: #0C0A09;
  --surface: #1C1C1C;
  --text: #FFFFFF;
  --text-muted: #A8A29E;
  --accent: #F76246;
  --border: rgba(255, 255, 255, 0.08);
  --font-heading: WhyteV1, Inter, system-ui, -apple-system, sans-serif;
  --font-body: 'Inter / Whyte', Inter, system-ui, -apple-system, sans-serif;
  --font-mono: 'CircularXXMono', 'JetBrains Mono', ui-monospace, monospace;
  --h1-size: 72px;
  --h1-tracking: 0em;
  --h1-weight: 400;
  --radius-button: 6px;
  --radius-common: 6px;
  --shadow-common: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(28, 28, 28) 0px 0px 0px 2px;
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --duration: 0.3s;
}
tailwind.config.js
// tailwind.config.js — Inngest style tokens (taste-skill)
module.exports = {
  theme: {
    extend: {
      colors: {
        canvas: "#0C0A09",
        surface: "#1C1C1C",
        ink: "#FFFFFF",
        muted: "#A8A29E",
        accent: "#F76246",
        line: "rgba(255, 255, 255, 0.08)",
      },
      fontFamily: {
        heading: ["WhyteV1", 'Inter', 'system-ui', 'sans-serif'],
        sans: ["Inter / Whyte", 'Inter', 'system-ui', 'sans-serif'],
        mono: ["CircularXXMono", 'ui-monospace', 'monospace'],
      },
      fontSize: { display: ["72px", { letterSpacing: "0em", fontWeight: "400" }] },
      borderRadius: { button: "6px", card: "6px" },
      boxShadow: { brand: "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgb(28, 28, 28) 0px 0px 0px 2px" },
      transitionTimingFunction: { brand: "cubic-bezier(0.2, 0.8, 0.2, 1)" },
    },
  },
};
.cursor/skills/inngest-style/SKILL.md
---
name: inngest-style
description: Build UI in the Inngest visual style (Warm Obsidian Stone & Swiss Whyte / Coral-Cobalt Contrast). Use when the user asks for a Inngest-like look.
---

# Inngest Style — Quick Rules (source: inngest.com, extracted by taste-skill)

## Tokens
- canvasBg: #0C0A09 — Primary Inngest page canvas
- surfaceElevated: #1C1C1C — Primary elevated card & bento surface
- surfaceSecondary: rgba(244, 96, 74, 0.09) — Secondary interactive container / hover fill
- borderPrimary: rgba(255, 255, 255, 0.08) — Primary structural divider (1px rgba(255,255,255,0.08))
- borderSecondary: rgba(255, 255, 255, 0.08) — Secondary nested module or pill border
- textPrimary: #FFFFFF — Hero H1, section H2 & high-contrast foreground
- textMuted: #A8A29E — Lead paragraphs, descriptions & muted labels
- accentPrimary: #F76246 — Primary interactive CTA & brand highlight (6px)
- accentSecondary: #F76246 — Secondary badge, syntax or telemetry highlight

## Typography
- Heading font: WhyteV1; body: Inter / Whyte; mono: CircularXXMono
- Hero H1: 72px | line-height 68.4px (leading-[0.95]) | letter-spacing -1.44px (tracking-[-0.02em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font WhyteV1
- Section H2 (Primary): 64px | line-height 70.4px (leading-[1.1]) | letter-spacing -2.24px (tracking-[-0.035em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font WhyteV1
- Section H2 (Secondary): 40px | line-height 50px (leading-[1.25]) | letter-spacing -0.4px (tracking-[-0.01em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Whyte Inktrap
- Card / Feature H3: 32px | line-height 32px (leading-[1]) | letter-spacing 0px (tracking-[0em]) | weight 400 (font-[400]) | color #FFFFFF (text-white) | font Whyte

## Components
- Primary button: height 42px, padding 0px 20px, radius 6px, bg #FFFFFF, text #000000, 12px / 600
- Card: bg transparent, border none, radius 6px, padding 20px 20px

## Never
- NEVER substitute generic uncalibrated gray backgrounds for Inngest’s exact #0C0A09 canvas and #1C1C1C surface pairing.
- NEVER replace WhyteV1 display typography or ignore its signature scale (72px / 0.95 (w400)).
- NEVER use thick opaque borders that clash with rgba(255, 255, 255, 0.08) (1px rgba(255,255,255,0.08)).
- NEVER deviate from the signature button geometry (6px) or introduce off-brand saturated gradients.
- NEVER use default browser monospace when rendering code or telemetry—always pair with CircularXXMono.

Full 120-line spec: https://taste-skill.pages.dev/taste/inngest/
Or install the full spec
npx taste-skill add inngest

Related

Similar styles

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

See taste-skill Pro →