DESIGN.md · Analysis

ModelsLab

modelslab.com · 3 Jun 2026 · 47 colors · Space Grotesk, Geist Mono

ModelsLab

Enterprise-grade generative AI platform offering 1000+ API models for image, video, audio, and LLM generation. Built for developers who demand speed, scalability, and cost-efficiency.

Colors

surface#f6f7f9
surface-dim#e8eaee
surface-bright#ffffff
surface-container-lowest#f0f2f6
surface-container-low#e8eaee
surface-container#e0e3e8
surface-container-high#d8dce2
surface-container-highest#d0d4da
on-surface#161c1d
on-surface-variant#374151
inverse-surface#1f2937
inverse-on-surface#f3f4f6
outline#9ca3af
outline-variant#d1d5db
surface-tint#4075dd
primary#4075dd
on-primary#ffffff
primary-container#dbe4f7
on-primary-container#0d2a7a
inverse-primary#b3d1ff
secondary#00ed09
on-secondary#0a3d00
secondary-container#b3f7b0
on-secondary-container#002200
tertiary#00897b
on-tertiary#ffffff
tertiary-container#a2f4e8
on-tertiary-container#002622
error#ff5b5b
on-error#ffffff
error-container#ffd9d6
on-error-container#5c0000
primary-fixed#dbe4f7
primary-fixed-dim#b3d1ff
on-primary-fixed#0d2a7a
on-primary-fixed-variant#2d5aa8
secondary-fixed#b3f7b0
secondary-fixed-dim#8cfa00
on-secondary-fixed#002200
on-secondary-fixed-variant#1ea802
tertiary-fixed#a2f4e8
tertiary-fixed-dim#6a1b9a
on-tertiary-fixed#002622
on-tertiary-fixed-variant#00897b
background#f6f7f9
on-background#161c1d
surface-variant#e5e7eb

Typography

display
fontFamily: Space Grotesk · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: Space Grotesk · fontSize: 40px · fontWeight: 700 · lineHeight: 48px · letterSpacing: -0.02em
headline-md
fontFamily: Space Grotesk · fontSize: 28px · fontWeight: 700 · lineHeight: 36px · letterSpacing: -0.01em
title-lg
fontFamily: Space Grotesk · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
body-lg
fontFamily: Space Grotesk · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Space Grotesk · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Space Grotesk · fontSize: 14px · fontWeight: 500 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Space Grotesk · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em
code-md
fontFamily: Geist Mono · fontSize: 14px · fontWeight: 400 · lineHeight: 20px · letterSpacing: 0em

Design guidance

Overview

ModelsLab is an enterprise-grade generative AI platform that democratizes access to 1000+ cutting-edge AI models through a unified, developer-first API. The design system embodies a "Technical Clarity" aesthetic—combining the precision of engineering with the accessibility of modern SaaS. The interface prioritizes information density and rapid model discovery, using a light, spacious canvas (rgb(246, 247, 249) background) punctuated by a vibrant primary blue (#4075dd) that signals interactivity and trust. The brand personality is direct, competent, and solution-oriented: we speak to developers as peers, avoiding hype while celebrating capability. Example voice: "Deploy Stable Diffusion, FLUX, or GPT-4V in milliseconds—no infrastructure required."

Colors

The color system balances a clean, minimal light theme with strategic accent colors that guide user attention. Primary (#4075dd, rgb(64, 117, 221)) is the signature brand blue used exclusively for CTAs, focus states, and primary navigation; it conveys trust and technical sophistication. Secondary (#00ed09, a vivid lime-green) and Tertiary (#00897b, teal) are accent colors drawn from the vibrant model-generation imagery, used sparingly for status indicators, success states, and secondary actions. The surface stack progresses from the base light gray (#f6f7f9) through container layers (ranging from #f0f2f6 to #d0d4da) to create subtle depth without relying on shadows. On-surface text is a near-black (#161c1d, rgb(22, 24, 29)) for maximum readability at 16px body size. Error states use a warm

Typography

The type system uses Space Grotesk as the primary typeface—a geometric sans-serif that conveys technical precision while remaining approachable. Display (60px, 700 weight, -0.04em tracking) anchors hero sections and major announcements; Headline-lg (40px, 700 weight) structures page sections; Headline-md (28px, 700 weight) breaks up content hierarchies. Body text runs at 16px with 400 weight and 24px line-height, providing comfortable reading at any screen size. Labels and UI text use 14px at 500 weight with 0.01em tracking for crisp, scannable interface elements. Code snippets and technical documentation use Geist Mono (14px, 400 weight) to distinguish programmatic content. All headings use -0.02em to -0.04em negative letter-spacing to create visual weight and reduce perceived size; body

Layout

The layout uses a 12-column grid with a max-width of 1280px (matching Tailwind's 2xl breakpoint), ensuring content remains scannable on ultra-wide displays while maintaining focus on desktop. The gutter is 24px, applied consistently to section padding and component spacing. White-space is used generationally: lg spacing (40px) separates major sections (hero, feature blocks, footer); md spacing (24px) divides component groups and card stacks; sm spacing (12px) provides breathing room within components. The search bar and model cards use a 3-column layout on desktop, collapsing to 1 column on mobile. Container max-width is enforced at 1280px to prevent line-length from exceeding 75 characters in body text, supporting cognitive load reduction. Margins follow the spacing scale: section margins

Elevation & Depth

Depth is conveyed through subtle shadows and layering rather than dramatic elevation changes. The base surface (Level 1) is the light background (#f6f7f9) with an optional subtle dot pattern (24px grid, rgba(229, 231, 235, 0.4)) for visual texture. Standard cards (Level 2) use box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) and a 1px border in {colors.outline-variant} (#d1d5db) to separate from the background. Elevated surfaces (Level 3)—modals, popovers, dropdowns—use box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) with the same border treatment. On hover, cards transition to the elevated shadow (200ms

Shapes

The shape philosophy is "Minimal Geometry"—rounded corners are used sparingly to soften interfaces without introducing visual noise. The default radius is 0.5rem (8px), applied to buttons, inputs, and small components for a modern, approachable feel. Cards and larger containers use 0.75rem (12px) to create subtle visual separation. Modals and popovers use 1.5rem (24px) for a more pronounced, friendly appearance. Buttons and chips use 9999px (full) for pill-shaped elements in secondary and tertiary contexts, creating visual distinction from primary rectangular buttons. The rationale: sharp corn

Components

Action Elements Buttons use a consistent 40px height (8px vertical padding + 16px horizontal padding + 24px line-height) for comfortable touch targets on mobile and desktop. Primary buttons (#4075dd background, white text, 14px 500 weight label) are reserved for the most important action per page (e.g., "Book a Call", "Sign Up"). On hover, the background darkens to #2d5aa8 with a 200ms ease-out transition. Secondary buttons use a transparent background with a 1px outline in {colors.outline-variant} and on-surface text; on hover, they fill with {colors.surface-container-high}. Accent buttons use the secondary green (#00ed09) for success-oriented actions (e.g., "Deploy Model"). All buttons disable at opacity: 0.5 with cursor: not-allowed.

Containers & Surfaces Cards are the primary

Do's and Don'ts

**Do**

  • Do use primary blue (#4075dd) exclusively for CTAs and focus states—it's the brand's signature accent and must remain reserved for the most important interactions.
  • Do maintain 24px gutters and 40px section spacing to create breathing room; dense layouts undermine the technical clarity aesthetic.
  • Do apply 200ms ease-out transitions to all interactive state changes (hover, focus, active) to provide responsive feedback without distraction.
  • Do use Space Grotesk at 16px/400 weight for body text and 14px/500 weight for labels; this pairing is tested for readability at all sizes.
  • Do layer cards with 1px borders (#d1d5db) and subtle shadows (0 3px 8px rgba(0, 0, 0, 0.15)) to create depth without relying on color.
  • Do reserve the secondary green (#00ed09) and tertiary teal (#00897b) for status indicators, badges, and secondary actions—never use them for primary CTAs.

**Don't**

  • Don't use rounded corners >1.5rem on standard components; excessive rounding contradicts the precision-focused brand and wastes visual hierarchy.
  • Don't apply shadows >0 8px 24px rgba(0, 0, 0, 0.12); deeper shadows create visual confusion and undermine the clean, minimal aesthetic.
  • Don't mix typefaces—Space Grotesk is the primary body and UI font, Geist Mono is reserved for code blocks, Instrument Serif is not used in the UI system.
  • Don't use opacity or transparency for primary surfaces; all backgrounds must be fully opaque (#ffffff or light gray) to maintain accessibility and clarity.
  • Don't apply color to text beyond {colors.on-surface} (#161c1d) and {colors.on-surface-variant} (#374151) for body content; colored text reduces readability.
  • Don't create custom button sizes; always use 40px height with 8px/16px padding to maintain consistency and touch-target accessibility.