DESIGN.md · Analysis

Railway

anruf.guru · 29 Sept 2026 · 47 colors · -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif, monospace

Railway

Railway is a modern infrastructure platform that simplifies cloud deployment. The design system uses a dark, tech-forward aesthetic with vibrant purple accents to convey speed, precision, and forward momentum.

Colors

surface#13111c
surface-dim#0b0a12
surface-bright#1a1824
surface-container-lowest#060e20
surface-container-low#0f0d1a
surface-container#13111c
surface-container-high#1d1b28
surface-container-highest#282633
on-surface#ffffff
on-surface-variant#c4c7c8
inverse-surface#ededf0
inverse-on-surface#1a1824
outline#8e9192
outline-variant#444748
surface-tint#853ace
primary#853ace
on-primary#ffffff
primary-container#a855f7
on-primary-container#ffffff
inverse-primary#d084f7
secondary#7dd3c0
on-secondary#0a2620
secondary-container#98e6d8
on-secondary-container#0f3d33
tertiary#ff6b9d
on-tertiary#ffffff
tertiary-container#ff99b8
on-tertiary-container#5a0a2e
error#ff6b6b
on-error#ffffff
error-container#ff9999
on-error-container#5a0a0a
primary-fixed#d084f7
primary-fixed-dim#a855f7
on-primary-fixed#3d0066
on-primary-fixed-variant#6b2fa3
secondary-fixed#98e6d8
secondary-fixed-dim#7dd3c0
on-secondary-fixed#001a14
on-secondary-fixed-variant#0f3d33
tertiary-fixed#ff99b8
tertiary-fixed-dim#ff6b9d
on-tertiary-fixed#3d0a1f
on-tertiary-fixed-variant#8a1a4d
background#13111c
on-background#ffffff
surface-variant#3d3b47

Typography

display
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.02em
headline-md
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 28px · fontWeight: 600 · lineHeight: 36px
title-lg
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 26px · fontWeight: 800 · lineHeight: 32px
body-lg
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px
body-md
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Oxygen-Sans', Ubuntu, Cantarell, 'Helvetica Neue', sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px
monospace
fontFamily: monospace · fontSize: 16px · fontWeight: 400 · lineHeight: 24px

Design guidance

Overview

Railway is a cloud infrastructure platform that abstracts deployment complexity into an intuitive, modern interface. The design system embodies 'Tech-Forward Minimalism'—a philosophy that pairs a dark, focused canvas (hsl(250, 24%, 9%) background) with a vibrant purple accent (hsl(270, 60%, 52%)) to convey speed, precision, and forward momentum. The UI prioritizes clarity over decoration: every visual element serves a functional purpose, and the sparse use of color creates a sense of calm authority. The brand voice is direct, confident, and jargon-aware—speaking to developers and DevOps engineers with respect for their expertise. Example: 'Deploy in seconds, not hours. Your infrastructure, simplified.'

Colors

The color system uses a dark foundation to reduce cognitive load during intense development work, with purple as the signature accent for all interactive elements. **Primary (hsl(270, 60%, 52%) / #853ace)** is used exclusively for call-to-action buttons, active states, and key links—it commands attention without aggression. On hover, primary darkens to hsl(270, 60%, 42%) to signal interactivity. **Secondary (hsl(152, 38%, 60%) / #7dd3c0)** is reserved for success states, confirmations, and positive feedback. **Tertiary (hsl(1, 62%, 60%) / #ff6b9d)** highlights warnings or secondary actions. **Surface stack**: The base surface is hsl(250, 24%, 9%) (#13111c), with container variants stepping up in brightness (surface-container-low at hsl(246, 18%, 15%), surface-container-high at hsl(246, 18%

Typography

The type system uses the system font stack (-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, etc.) for maximum performance and platform consistency. **Display (60px, 700 weight, -0.04em tracking)** anchors hero sections and major page titles. **Headline-lg (40px, 600 weight)** and **Headline-md (28px, 600 weight)** structure content hierarchy. **Title-lg (26px, 800 weight)** is used for error pages and critical messaging—the 800 weight conveys urgency. **Body-lg (18px, 400 weight, 28px line-height)** and **Body-md (16px, 400 weight, 24px line-height)** carry narrative content with generous line-height (1.5x) to maintain legibility on dark backgrounds. **Label-md (14px, 600 weight, 0.01em tracking)** labels form fields and buttons. **Monospace (16px, 400 weight)** is applied to technica

Layout

The layout uses a centered, single-column flex model for focused content delivery. The body has 10px padding, and main content areas use 16px horizontal padding to maintain breathing room on mobile and desktop. The container max-width is 1280px for larger screens, but the error page and most Railway interfaces center content vertically and horizontally within the viewport. Spacing follows a semantic scale: **xs (4px)** for tight grouping, **sm (12px)** for form field gaps, **md (24px)** for card padding and section separation, **lg (40px)** for major section breaks, and **xl (64px)** for hero spacing. The 3rem (48px) margin-top on the CTA button creates deliberate visual separation from error details. Grid layouts use 12 columns when needed, but Railway's core aesthetic favors centered, si

Elevation & Depth

Depth is conveyed through subtle shadows and surface-container color shifts rather than dramatic drop shadows. **Level 1 (Base)**: The background (hsl(250, 24%, 9%)) serves as the foundation. **Level 2 (Cards & Panels)**: Cards use box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) with a 1px border at surface-container-high (hsl(246, 18%, 25%)) to define edges. On hover, the shadow increases to 0 6px 16px rgba(0, 0, 0, 0.2) and the background shifts to surface-container-high, signaling elevation. **Level 3 (Modals & Dropdowns)**: Dropdown panels use box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) with a 1px

Shapes

The shape philosophy is 'Soft-Technical'—rounded corners are used sparingly to soften the industrial aesthetic without sacrificing precision. **Buttons and primary interactive elements** use rounded.lg (1rem / 16px) to create approachable, clickable targets. **Cards and containers** use rounded.lg (16px) for consistency. **Input fields** use rounded.DEFAULT (0.5rem / 8px) to signal form functionality without excessive softness. **Badges and pills** use rounded.full (9999px) for a modern, contained appearance. **Dropdown panels** use rounded.md (0.75rem / 12px) to balance softness with precisio

Components

Action Elements Buttons are the primary interaction mechanism. **button-primary** uses hsl(270, 60%, 52%) background with white text, 12px 24px padding, and 44px height for touch-friendly targets. On hover, the background darkens to hsl(270, 60%, 42%) with a 150ms ease-in-out transition. On active, it darkens further to hsl(270, 60%, 35%). **button-secondary** has a transparent background with a 1px primary-colored border and white text; on hover, it gains a subtle rgba(133, 58, 206, 0.08) background. Links use hsl(270, 70%, 65%) (#pink-600) by default and darken on hover with an underline. All buttons use label-md typography (14px, 600 weight) and rounded.lg (16px) for consistency.

Containers & Surfaces **card** components use surface-container background (hsl(250, 24%, 9%)) with

Do's and Don'ts

**Do**

  • Do use primary (hsl(270, 60%, 52%)) exclusively for interactive elements and CTAs—never for backgrounds or decorative elements.
  • Do maintain the dark surface (hsl(250, 24%, 9%)) as the dominant background to reduce eye strain during long development sessions.
  • Do apply 1px borders at surface-container-high to all cards and containers to define edges without harsh contrast.
  • Do use monospace typography for technical identifiers (request IDs, API keys, error codes) to signal machine-readable content.
  • Do transition interactive states (hover, active, focus) over 150–200ms with ease-in-out timing to feel responsive.
  • Do use the secondary color (hsl(152, 38%, 60%)) exclusively for success states and positive feedback.

**Don't**

  • Don't use pure white (#ffffff) or pure black (#000000) as primary or secondary colors—stick to the defined hue-based palette.
  • Don't apply rounded corners larger than 16px on buttons or cards; it undermines the technical credibility of the brand.
  • Don't use shadows larger than 0 6px 16px rgba(0, 0, 0, 0.2); excessive depth creates visual clutter on dark backgrounds.
  • Don't mix the system font stack with serif or decorative fonts; consistency across platforms is critical for developer trust.
  • Don't use tertiary (hsl(1, 62%, 60%)) for primary actions—reserve it for warnings and secondary interactions.
  • Don't apply text-shadow to body text; use it only on small labels (12px and below) over textured backgrounds.

Made by Sokosumi: AI coworkers for marketing

This tool is free. Sokosumi gives marketing teams AI coworkers that deliver finished work as files: research, briefings, reports and content.

Start free

*No Credit Card required