Design System.
Core Palette
Three colors. The entire palette. No greys — only transparency of ink or paper. Signal red is used once: the accent.
Ink & Paper Tints
Transparency is the only way to generate hierarchy. No off-grey or midtone variables.
Serif Scale — DM Serif Display
The editorial voice. Commands attention. Italic at signal-red for the accent phrase in every hero headline.
JetBrains Mono
Every label, caption, metadata, button, annotation — uppercase, heavy tracking. The structural skeleton of the brand.
All Four Families
Scale
Border System
Borders are the primary structural device. No drop-shadows on cards — the 2px rule carries all the weight.
Hard Offset Only. No Blur. Ever.
Timing & Easing
Minimal and purposeful. No spring, no bounce, no parallax on scroll (latest home uses framer-motion for a subtle parallax — a contained exception).
Design System Loader
The boot state uses only system primitives: ink background, paper grid, signal-red progress, mono rails, serif title, pulse status, and hard rules.
Buttons
Badges
No rounded pills — all badges are rectangular with `border-radius:0`. Status is communicated by border color and the pulse dot.
Card Variants
Interaction Design Fundamentals
The thinking behind design decisions.
Interaction Design Fundamentals
The thinking behind design decisions.
How Interfaces Think?
4 weeks · 3 sessions/week · Live on Zoom
Form Inputs
Only two variants: dark (footer/newsletter) and light (contact page). Both use JetBrains Mono. Border turns signal-red on focus.
3-Column Newspaper Rail
Opens every dark section (hero, footer). Three cells: brand // volume // status. Dashed dividers. Reads like a broadsheet masthead.
KineticDisciplines Component
New in latest commit. Lives in the bottom-right dead-zone of the
hero, below the flagship card. Numbered list; active row
cross-fades at 2.4s intervals. Echoes the active name large below.
Honors
prefers-reduced-motion.
FAQ — Two-Column Grid
New in latest commit. Q and A sit in a 5:7 grid split. Q uses DM
Serif Display, A uses Inter. Separated by a hairline
border-b border-[ink/15].
Live vs. Recorded
New in RedesignPage.tsx. Two-column with ink/paper contrast. Check/X icons are small signal-red filled circles (yes) vs muted (no). No tables.
Recorded courses
OG Labs cohorts
Curriculum-as-Code
From RedesignPage. Syllabus presented as
syllabus/interaction.json
in a macOS-style window. Tabs switch the track. Syntax colors use
the signal-family palette only.
Wordmarks
Faculty Lineage
SVG marks always black on white cell. 2px dividers. Always grayscale.
Lucide + Unicode
Lucide React (0.487.0). Stroke 1.5px, 14–16px size. Used sparingly — never more than one icon per button. Unicode symbols → ↗ · — used in copy.
Dark Masthead Hero
Full hero specimen. 3-col masthead rail → 12-col content grid → flagship glass card right. Grid texture at 0.04 opacity. Subtle radial red bloom behind the card. KineticDisciplines below the card on lg+.
India's online design school.
Four-week live cohorts where you learn to think like a designer. Three sessions a week, taught online by alumni from NID, IIT Bombay and IIT Guwahati.
How Interfaces Think?
4 weeks · 3 sessions/week · Live on Zoom
Voice & Vocabulary
// PREFIX
— double-slash before all section labels (dev-style structural
markers)
4 weeks · 3 sessions/week
— middle-dot separates meta, never comma
01 / 02 / 03
— zero-padded numerals in serif at 48–56px signal-red
[ LIVE ]
/
[ UPCOMING ]
— brackets for status tags
→
(right) and
↗
(external)
Breakpoints, Containers, Body Scale
Mobile-first. Five breakpoints. Three container widths. Inter body scale fixed in pixels for predictable Figma frames.
Stack Order
Transparency Scale
The only way to generate hierarchy. Use these exact stops — never a custom value.
Figma Tokens Studio Export
Use tokens/tokens.figma.json for Figma Tokens Studio. Use root tokens.json as the source file for this repo.
// Regenerate:
npm run build
Textarea, Select, Checkbox, Radio, Toggle
All controls share a 2px ink border and JetBrains Mono. Selected state is signal-red. No rounded corners except on radio.
Tab Pattern
Used on the syllabus to switch between weeks/tracks. Underline is signal-red, 2px, animates 200ms.
Expandable Rows
For syllabus week breakdowns and FAQ. The plus rotates 45° to become an X. Closed state shows mono week label + serif title.
Modal & Confirmation
2px ink border with 6·6 signal shadow. Dashed dividers between header / body / footer. Backdrop is ink at 65% opacity.
Enrollment is by conversation. Enter your details and our team will get on a short call within 24 hours.
Tooltip / Popover
Ink background, signal-red border & arrow. Mono font for terse hints. Appears on hover after 200ms delay.
Notifications
Bottom-right stack. Auto-dismiss after 5s. Border-left signal-red rule. Hard offset shadow.
Progress & Stepper
Linear bar for cohort fill. Stepper for application flow. No green — only ink (done) and signal (active).
Pagination
Breadcrumbs
Tags & Filter Chips
Discipline tags use the 3-letter code (IXD, COM, RES, STR, TYP, INV). Active state inverts to ink-on-paper.
Avatar & Instructor Card
Square only — no rounded photos. Instructor portrait is 4:5 ratio. Initials fallback uses serif at 22px.
Numeric Specimens
Big numerals in DM Serif at 56px, signal-red. Mono caption below.
Editorial Quote
"The thinking behind a design decision matters more than the pixels. We teach the thinking."
Loading State
Subtle ink shimmer at 200% width, 1.4s linear loop. Only used while waiting on async content.
Institution Strip
Continuously scrolling band. 30s linear loop. Pauses on hover.
No Results / No Data
Mobile & Tablet
Hero collapses to single column. Masthead stacks. Cards go full-width with reduced padding.
India's online
design school.
Four-week live cohorts. Three sessions a week.
India's online
design school.
Four-week live cohorts where you learn to think like a designer.
Focus Rings
Every interactive element shows a 2px signal-red outline at 2px
offset on
:focus-visible. Never remove it. Tab through this section to verify.
*:focus-visible { outline: 2px solid #FE1300; outline-offset:
2px; }
WCAG 2.1 Pairings
Every text/background pair tested against AA (4.5:1 normal text, 3:1 large text). Flagged pairs are decorative-only — never use them for body copy.
Minimum 44 × 44
All interactive elements meet WCAG 2.5.5 (44 × 44 px minimum on touch). Mono "ghost text" links keep their visible label small but use generous padding for the hit area.
Brand Assets
One-click downloads for designers working in Figma, Canva, Illustrator, or anywhere else.
Lucide Icon Set (Static SVG)
Click any icon to copy its SVG markup to clipboard — paste directly into Canva, Figma, or HTML. Stroke-width 1.5px, 16px default.
data-lucide="icon-name" in HTML.