DESIGN.md · Analysis

InferStack

inferstack.net · 15 Jun 2026 · 47 colors · Inter

InferStack

A unified API platform for orchestrating multiple LLMs with intelligent routing, unified billing, and seamless provider abstraction. InferStack combines technical precision with approachable design.

Colors

surface#f9fafb
surface-dim#f3f4f6
surface-bright#ffffff
surface-container-lowest#f9fafb
surface-container-low#f3f4f6
surface-container#eeeff2
surface-container-high#e9ecef
surface-container-highest#e0e3e8
on-surface#1a1a1a
on-surface-variant#666666
inverse-surface#1a1a1a
inverse-on-surface#f9fafb
outline#888888
outline-variant#d0d0d0
surface-tint#2ecc71
primary#2ecc71
on-primary#ffffff
primary-container#c8f7dc
on-primary-container#0d5c2a
inverse-primary#27ae60
secondary#1a3d2e
on-secondary#ffffff
secondary-container#2d5a45
on-secondary-container#a8c8b8
tertiary#555555
on-tertiary#ffffff
tertiary-container#888888
on-tertiary-container#ffffff
error#fb2c36
on-error#ffffff
error-container#fdd8db
on-error-container#5a0a0f
primary-fixed#c8f7dc
primary-fixed-dim#a8e6c5
on-primary-fixed#0d5c2a
on-primary-fixed-variant#1a7d3f
secondary-fixed#2d5a45
secondary-fixed-dim#1a3d2e
on-secondary-fixed#a8c8b8
on-secondary-fixed-variant#7fa896
tertiary-fixed#888888
tertiary-fixed-dim#666666
on-tertiary-fixed#ffffff
on-tertiary-fixed-variant#e9ecef
background#f9fafb
on-background#1a1a1a
surface-variant#e9ecef

Typography

display
fontFamily: Inter · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: Inter · fontSize: 48px · fontWeight: 800 · lineHeight: 56px · letterSpacing: -0.02em
headline-md
fontFamily: Inter · fontSize: 32px · fontWeight: 600 · lineHeight: 40px · letterSpacing: -0.01em
title-lg
fontFamily: Inter · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
body-lg
fontFamily: Inter · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Inter · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Inter · fontSize: 14px · fontWeight: 500 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Inter · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em

Design guidance

Overview

InferStack is a developer-focused API orchestration platform that unifies access to multiple large language models through a single, OpenAI-compatible interface. The brand embodies "Technical Clarity"—a design philosophy that prioritizes precision, directness, and functional elegance over decorative flourish. The aesthetic combines a clean, light-neutral canvas (rgb(249, 250, 251)) with a vibrant emerald-green accent (rgb(46, 204, 113)) that signals action, trust, and forward momentum. The UI evokes a sense of control and transparency: users feel they are commanding a sophisticated system, not navigating a black box. Voice: direct, confident, and jargon-aware. Example: "Route your requests to the fastest provider. We handle the complexity."

Colors

The color system is anchored by a high-saturation primary green (#2ecc71, rgb(46, 204, 113)) used exclusively on call-to-action buttons, active navigation states, and brand-critical interactive elements. This green is never used for passive surfaces or body text—it is reserved for moments of user agency. The secondary color palette draws from a sophisticated dark forest green (#1a3d2e, rgb(26, 61, 46)) and its lighter variant (#2d5a45, rgb(45, 90, 69)), used for depth layers, secondary containers, and supporting UI elements that require visual hierarchy without competing for attention. The surface stack progresses from the brightest white (#ffffff) for primary containers, through warm grays (#f9fafb, #f3f4f6, #e9ecef) for subtle depth, to near-black (#1a1a1a, rgb(26, 26, 26)) for primary t

Typography

The type system uses Inter exclusively, a geometric sans-serif that communicates technical sophistication while remaining approachable. Display (60px, 700 weight, -0.04em tracking) anchors hero sections with commanding presence. Headline-lg (48px, 800 weight, -0.02em tracking) is reserved for primary page titles and major section breaks—the weight is deliberately heavy to command attention in a minimalist layout. Headline-md (32px, 600 weight) serves secondary headings and feature titles. Body-lg (18px, 400 weight, 28px line-height) is used for hero copy and prominent descriptive text, ensuring readability at scale. Body-md (16px, 400 weight, 24px line-height) is the default paragraph text. Label-md (14px, 500 weight, 0.01em tracking) is applied to button text, navigation items, and form l

Layout

The layout uses a 12-column grid with a max-width of 1440px (container-max: 1440px), providing a spacious, breathing canvas that prevents content from feeling cramped on ultra-wide displays. The page rhythm is governed by a semantic spacing scale: lg (40px) separates major sections (hero, features, footer), md (24px) is the default padding inside cards and containers, sm (12px) is used for internal component spacing (button padding, input fields), and xs (4px) is reserved for micro-interactions and icon spacing. The gutter (24px) is applied consistently to left/right page margins on desktop, collapsing to sm (12px) on mobile. White space is treated as a first-class design element—sections are separated by full-height gaps (py-16, py-20 in Tailwind terms, translating to 64px–80px), creating

Elevation & Depth

Depth is achieved through a restrained shadow system that mimics real-world light without theatrical drama. Level 1 (Base): no shadow; surfaces sit flush on the background (rgb(249, 250, 251)). Level 2 (Standard Card): box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), a barely-perceptible lift that defines the card boundary without distraction. Level 3 (Elevated/Hover): box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), applied on card hover and modal overlays, creating a sense of forward motion. Level 4 (Maximum Depth): box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), reserved for hero code blocks and prominen

Shapes

The shape philosophy is "Soft-Technical"—rounded corners are used strategically to soften the precision of a technical interface without introducing organic or playful aesthetics. Buttons use full radius (border-radius: 9999px), creating pill-shaped affordances that feel modern and clickable. Cards and containers use lg (1rem, 16px) or xl (1.5rem, 24px) radius, providing gentle rounding that softens hard edges while maintaining geometric clarity. Input fields use DEFAULT (0.5rem, 8px) radius, a subtle curve that signals interactivity without distraction. Code blocks use lg (1rem) radius to dis

Components

Action Elements Buttons are the primary interaction primitive. Primary buttons (button-primary) use the full primary green (#2ecc71) background with white text, 10px vertical / 24px horizontal padding, full border-radius, and a 40px minimum height. On hover, the background shifts to the darker inverse-primary (#27ae60, rgb(39, 174, 96)), maintaining the green family while signaling state change. The transition is 150ms cubic-bezier(0.4, 0, 0.2, 1), providing snappy feedback without feeling abrupt. Secondary buttons (button-secondary) use a transparent background with a 1px border (#d0d0d0) and dark text (#1a1a1a), allowing them to recede visually while remaining accessible. On hover, the background becomes surface-container-high (#e9ecef), providing subtle feedback. Ghost buttons (butt

Do's and Don'ts

**Do**

  • Do use the primary green (#2ecc71) exclusively for interactive elements that represent user agency—buttons, active navigation, focus states. Never use it for passive surfaces or body text.
  • Do apply the full-radius pill shape (border-radius: 9999px) to all primary action buttons; it is the visual signature of clickability in this system.
  • Do maintain the 150ms cubic-bezier(0.4, 0, 0.2, 1) transition timing on all interactive state changes (hover, focus, active) to create a consistent, snappy feel.
  • Do use the surface-container stack (#f9fafb → #e9ecef) to create subtle depth without relying on shadows; borders (#d0d0d0) define edges crisply.
  • Do apply lg (40px) spacing between major sections and md (24px) padding inside containers to create visual rhythm and prevent cognitive overload.

**Don't**

  • Don't use the primary green for backgrounds, disabled states, or secondary information; it is reserved for moments of user action and brand emphasis.
  • Don't apply shadows heavier than 0 16px 40px rgba(0, 0, 0, 0.12); the system prioritizes clarity over depth drama.
  • Don't mix rounded corner radii arbitrarily; use the defined scale (sm, DEFAULT, md, lg, xl, full) to maintain visual consistency.
  • Don't use transitions longer than 150ms or easing functions other than cubic-bezier(0.4, 0, 0.2, 1); the system values snappy, predictable feedback.
  • Don't place text directly on busy backgrounds without a text-shadow (0 1px 2px rgba(0, 0, 0, 0.1)) or sufficient contrast; legibility is non-negotiable.