BrandToPrompt

MIT Design System: Minimalist High-Contrast Precision

Visit Site

Explore MIT's design system - black, white, red palette, Swiss typography, precise spacing. Build with MIT's functional visual language.

6 min read1,082 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Neue Haas Grotesk

Design Style

Style
minimalist with sharp edges, high contrast, and restrained accents
Visual Density
precise 8px grid spacing with functional layout
Border Style
sharp edges with occasional full-radius for circular avatars

Full Analysis

Alright — let's tear this down properly. This is MIT’s public web design system in numbers, colors, and pixels. No guessing. No fluff.


1. Brand Overview

MIT’s web presence is exactly what you’d expect from one of the most respected technical institutions in the world — stripped-down, direct, and unapologetically functional. This isn’t a marketing-first site. It’s an information delivery system with just enough visual identity to be recognizable.

You can see the philosophy in the palette: black, white, and a single saturated red (#ff1423). No gradients. No ornamental backgrounds. The red is surgical — used in CTAs, borders, and accents. It’s not splashed everywhere; it’s deployed where it has a job.

Typography tells another part of the story — Neue Haas Grotesk throughout. It’s a modern revival of Helvetica’s Swiss precision, but with better spacing and optical balance. The site uses both “Text” and “Display” cuts, switching weights and sizes for hierarchy. There’s no serif anywhere. This is a technical brand, not an editorial one.

Spacing is built on an 8px scale (with some oddball values — 7.55565px shows up, probably from a font baseline calculation). Breakpoints run from tiny phones at 320px all the way to massive displays at 2500px. Clearly, they care about responsive performance on everything from a mobile search bar to a wall-sized display in a lab.

Component design is minimal — borders are either razor-thin black or that signature red. Border radii are almost nonexistent except for circular avatars (50%). Shadows are rare and subtle, used sparingly for depth. Buttons are flat by default with hover and focus states adding motion and color shifts.

MIT’s site isn’t trying to wow with visual effects. It’s trying to deliver clarity and authority through restraint. This works because the brand is already strong — the design doesn’t need to shout.


2. Color System

2.1 Primary Colors

Primary semantic color: rgb(0, 0, 0) → #000000.

Black here is more than a text color — it’s a container background, border color, and divider. It’s paired with pure white (#ffffff) for maximum contrast. The single accent is that MIT red (rgb(255, 20, 35) → #ff1423). This red is aggressive, almost warning-like, but here it’s an identity color. It’s brighter than most academic reds (Harvard’s is deeper, Stanford’s is more muted).

2.2 Complete Palette

Color NameHexRoleUsage
Primary Black#000000Semantic primaryText, borders, container backgrounds
White#ffffffNeutral backgroundPage backgrounds, text on dark
MIT Red#ff1423Accent/brandButtons, borders, CTAs

2.3 Color Relationships

Black (#000000) on white (#ffffff) is a WCAG AAA contrast — perfect.
MIT Red (#ff1423) against white is also accessible for text (contrast ratio ~4.9:1 — AA pass). Against black, it’s extremely high contrast (~6.7:1).

No dark mode variant is in the data. The scheme is inherently high contrast, so flipping to dark mode would be trivial — invert black/white, keep red as accent.

2.4 Usage Guide

  • Black + white is the default canvas.
  • Red is never background filler — it’s for interaction or important highlights.
  • Avoid red text on black unless you want high visual tension — it's intense.
  • Don’t use tints/shades of red — stick to #ff1423.

3. Typography

3.1 Font Families

All typography uses Neue Haas Grotesk, split into neue-haas-grotesk-text and neue-haas-grotesk-display. No fallbacks listed — likely system fallbacks are sans-serif.
No Google or Adobe Fonts — probably self-hosted.

3.2 Type Scale

ElementFontSizeWeightLine Height
heading-1neue-haas-grotesk-text47.2226px (2.95rem)6001.10
heading-1neue-haas-grotesk-text32px (2.00rem)5001.30
linkneue-haas-grotesk-text32px5001.30
heading-1neue-haas-grotesk-display20px7001.15
linkneue-haas-grotesk-display20px7001.15
heading-1neue-haas-grotesk-display18px7001.10
linkneue-haas-grotesk-text17px4000.00
heading-1neue-haas-grotesk-text17px4001.60
linkneue-haas-grotesk-text16px5005.25
buttonneue-haas-grotesk-text16px5005.25
heading-1neue-haas-grotesk-text16px5005.25
heading-1neue-haas-grotesk-text16px4001.55
linkneue-haas-grotesk-text15.1113px6001.30
heading-1neue-haas-grotesk-text15.1113px6005.56
linkneue-haas-grotesk-text15.1113px4005.56
heading-1neue-haas-grotesk-text15.1113px7001.10
heading-1neue-haas-grotesk-text15.1113px4001.30
linkneue-haas-grotesk-text15.1113px5001.30
heading-1neue-haas-grotesk-text15.1113px5001.30
heading-1neue-haas-grotesk-text15px5001.60
linkneue-haas-grotesk-text14.5068px4001.30
heading-1neue-haas-grotesk-text14.5068px4001.30
heading-1neue-haas-grotesk-text14.5068px7001.30
captionneue-haas-grotesk-text13.7815px4001.30
linkneue-haas-grotesk-text13.2226px5001.00
captionneue-haas-grotesk-text13.2226px4000.00
captionneue-haas-grotesk-text13.2226px6001.30
linkneue-haas-grotesk-text13.2226px4001.30

3.3 Hierarchy

The 47px H1 is rare — most headings are in the 20–32px range. Body copy hovers around 15–17px. Line heights vary wildly — some headings have tight 1.10, others have massive 5.25 (likely vertical alignment hacks). This is not a clean modular scale — it’s tuned per use case.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px logic, with 1px increments allowed. Common values:

pxremcount
10.06rem4
30.19rem11
40.25rem34
50.31rem5
60.38rem24
7.555650.47rem2
80.50rem6
90.56rem3
100.63rem3
120.75rem3
150.94rem61
161.00rem6
201.25rem4
301.88rem9
352.19rem3
402.50rem10
452.81rem1
845.25rem1
855.31rem1
1308.13rem1

4.2 Layout

Breakpoints: 320px → 2500px in fine increments. No fixed container width in data, but the sheer number of breakpoints means they’re targeting specific device classes. Likely fluid grids with max-width constraints near 1600–1800px.


5. Visual Elements

Border Radius:

  • 2px (rare, low confidence) — maybe for small buttons/links
  • 10px (rare) — possibly cards
  • 50% — avatars/icons

Shadows:

  • rgb(255, 20, 35) 0px 3px 0px 0px inset, rgba(0, 0, 0, 0.05) 0px 2px 15px 0px
  • rgba(0, 0, 0, 0.1) 0px 10px 35px 0px

Subtle, layered. Red inset shadow is unusual — probably used in a brand-specific CTA.

Borders:

  • 1px solid red (#ff1423) on div/button
  • 0px 0px 0px 1px solid black — vertical dividers
  • 0px 0px 1px solid black — horizontal dividers

6. Components

6.1 Buttons

Variant 1 — Search Trigger
Default: bg #ff1423, text #ff1423 (odd — background and text same, maybe icon-based), no padding, no radius.
Hover: border 2px solid var(--primary-spot), bg var(--mit-brand-color--top-bar), color var(--secondary-text), transform scale(1.3).
Focus: border 3px solid var(--secondary-spot), bg same as hover, color white, opacity 0.

Variant 2 — Search Input
Default: bg white, text black, padding 1px 63px, no radius.
Hover: border/background var(--primary-spot) inverted.
Focus: subtle shadow, border 2px solid var(--primary-spot), color faded.

Variant 3 — Newsletter CTA
Default: transparent bg, white text, padding 9px 15px, border 1px solid red.
Hover/Focus: same motion scale(1.3) and border changes as variant 1.

Three styles:

  1. White text, underline on hover, weight 600.
  2. Red text, underline always, weight 400.
  3. Black text, underline on hover, weight 400.

6.3 Forms

No text input specifics beyond search box. No checkbox/radio/select styles in data.

6.4 Cards

No explicit “card” in data. Shadows suggest possible use in spotlight or newsletter blocks.


7. Design Tokens

:root {
  /* Colors */
  --color-black: #000000;
  --color-white: #ffffff;
  --color-red: #ff1423;

  /* Typography */
  --font-text: "neue-haas-grotesk-text", sans-serif;
  --font-display: "neue-haas-grotesk-display", sans-serif;

  /* Type Sizes */
  --h1-xl-size: 47.2226px;
  --h1-lg-size: 32px;
  --h1-md-size: 20px;
  --h1-sm-size: 18px;
  --body-lg-size: 17px;
  --body-md-size: 16px;
  --body-sm-size: 15.1113px;
  --caption-lg-size: 14.5068px;
  --caption-md-size: 13.7815px;
  --caption-sm-size: 13.2226px;

  /* Spacing */
  --space-1: 1px;
  --space-3: 3px;
  --space-4: 4px;
  --space-5: 5px;
  --space-6: 6px;
  --space-7-5: 7.55565px;
  --space-8: 8px;
  --space-9: 9px;
  --space-10: 10px;
  --space-12: 12px;
  --space-15: 15px;
  --space-16: 16px;
  --space-20: 20px;
  --space-30: 30px;
  --space-35: 35px;
  --space-40: 40px;
  --space-45: 45px;
  --space-84: 84px;
  --space-85: 85px;
  --space-130: 130px;

  /* Radius */
  --radius-sm: 2px;
  --radius-md: 10px;
  --radius-full: 50%;

  /* Shadows */
  --shadow-red-inset: rgb(255,20,35) 0px 3px 0px 0px inset, rgba(0,0,0,0.05) 0px 2px 15px 0px;
  --shadow-lg: rgba(0,0,0,0.1) 0px 10px 35px 0px;
}

8. AI Coding Assistant Prompt

# MIT Design System Specification

System Prompt:
You are a MIT design expert. Build UIs matching their visual language exactly.

Brand Context:
MIT’s digital design is minimal, functional, and high-contrast. It uses black, white, and a single saturated red for emphasis. Typography is Swiss-modern Neue Haas Grotesk for clarity and precision.

Color Palette:
- Primary Black: #000000 — Text, borders, dividers
- White: #ffffff — Backgrounds, text on dark
- MIT Red: #ff1423 — CTAs, accent borders, interactive highlights

Typography:
Font Families:
- Headings: "neue-haas-grotesk-display", sans-serif
- Body: "neue-haas-grotesk-text", sans-serif

Type Scale:
| Level | Size | Weight | Line Height | Use |
| H1 XL | 47.2226px | 600 | 1.10 | Main titles |
| H1 LG | 32px | 500 | 1.30 | Section headings |
| H1 MD | 20px | 700 | 1.15 | Subhead |
| H1 SM | 18px | 700 | 1.10 | Minor headings |
| Body LG | 17px | 400 | 1.60 | Paragraphs |
| Body MD | 16px | 500 | 5.25 | UI text |
| Body SM | 15.1113px | 400–700 | 1.10–5.56 | Labels |
| Caption | 14.5068px | 400–700 | 1.30 | Meta info |
| Small Caption | 13.2226px | 400–600 | 0–1.30 | Footnotes |

Spacing & Grid:
Base: 8px. Scale includes: 1, 3, 4, 5, 6, 7.55565, 8, 9, 10, 12, 15, 16, 20, 30, 35, 40, 45, 84, 85, 130px.
Use multiples for consistent layout.

Border Radius:
- sm: 2px — small interactive elements
- md: 10px — cards
- full: 50% — avatars/icons

Shadows & Depth:
- Red inset: rgb(255,20,35) 0px 3px inset + subtle black blur
- Large blur: rgba(0,0,0,0.1) 0px 10px 35px

Component Specifications:

Primary Button (.site-nav__search-trigger):
Default: bg #ff1423, color #ff1423, no padding, no radius, no shadow.
Hover: border 2px solid var(--primary-spot), bg var(--mit-brand-color--top-bar), color var(--secondary-text), scale(1.3).
Focus: border 3px solid var(--secondary-spot), color #ffffff, opacity 0.

Secondary Button (.es-search__box):
Default: bg #ffffff, color #000000, padding 1px 63px, no radius.
Hover: border/bg var(--primary-spot), invert text color.
Focus: shadow rgba(0,0,0,0.1) 0px 10px 35px, border 2px solid var(--primary-spot).

Newsletter CTA (.spotlight-newsletter-cta__button):
Default: transparent bg, white text, padding 9px 15px, border 1px solid #ff1423.
Hover/Focus: same as Primary Button’s motion.

Links:
White text — underline on hover.
Red text — underline always.
Black text — underline on hover.

Layout & Responsive Rules:
Breakpoints: 320px → 2500px with fine increments.
Mobile padding: ~15px. Desktop: larger multiples of 30–40px.

Interaction Rules:
- Transitions ~150ms ease
- Focus uses visible border change
- Hover uses scale transform for interactive elements

DO List:
- Use only #000000, #ffffff, #ff1423
- Maintain 8px grid spacing
- Neue Haas Grotesk for all text
- Use full radius only for circular elements
- Keep buttons flat — no gradient fills
- Reserve red for interactive states

DON'T List:
- Don’t introduce extra colors
- Don’t mix rounded and sharp corners
- Don’t apply heavy shadows
- Don’t use serif fonts
- Don’t make red a background fill for large sections

Code Examples:

Primary Button:
```css
.btn-primary {
  background: #ff1423;
  color: #ff1423;
  padding: 0;
  border-radius: 0;
  border: none;
  font-family: var(--font-text);
  font-size: 17px;
  font-weight: 400;
  transition: all 150ms ease;
}
.btn-primary:hover {
  border: 2px solid var(--primary-spot);
  transform: scale(1.3);
}
```

Card:
```css
.card {
  background: #ffffff;
  border-radius: 10px;
  padding: 15px;
  box-shadow: var(--shadow-lg);
}
```

Form Input:
```css
.input {
  border: 1px solid #ff1423;
  border-radius: 2px;
  padding: 6px 12px;
  font-size: 16px;
}
.input:focus {
  border-color: var(--primary-spot);
  outline: none;
}
```

9. Summary

TL;DR — MIT’s site is pure function: black, white, one red. Neue Haas Grotesk everywhere. Flat, high-contrast, restrained. Spacing is precise. Interactions are minimal but intentional.

Brand Keywords:

  • high-contrast-functional
  • swiss-modernist
  • academic-authority
  • no-nonsense
  • technical-clarity