DESIGN.md · Analysis

Aahana Bobade Portfolio

aahanabobade.com · 7 Jul 2026 · 47 colors · Syne, JetBrains Mono

Aahana Bobade Portfolio

A VS Code-themed developer portfolio showcasing backend engineering, AI/ML, and data science expertise through a code editor interface aesthetic.

Colors

surface#1e1e1e
surface-dim#0b0b0b
surface-bright#2d2d2d
surface-container-lowest#0f0f0f
surface-container-low#1a1a1a
surface-container#252526
surface-container-high#2d2d2d
surface-container-highest#333333
on-surface#cccccc
on-surface-variant#777777
inverse-surface#ffffff
inverse-on-surface#1e1e1e
outline#3c3c3c
outline-variant#505050
surface-tint#4fc1ff
primary#007acc
on-primary#ffffff
primary-container#0d47a1
on-primary-container#e3f2fd
inverse-primary#4fc1ff
secondary#ff6fd8
on-secondary#1a1a2e
secondary-container#c2185b
on-secondary-container#fce4ec
tertiary#4ec9b0
on-tertiary#1a1a2e
tertiary-container#00897b
on-tertiary-container#e0f2f1
error#f44747
on-error#ffffff
error-container#b71c1c
on-error-container#ffebee
primary-fixed#4fc1ff
primary-fixed-dim#0097a7
on-primary-fixed#001f3f
on-primary-fixed-variant#003d82
secondary-fixed#ff6fd8
secondary-fixed-dim#c2185b
on-secondary-fixed#3e1f47
on-secondary-fixed-variant#880e4f
tertiary-fixed#4ec9b0
tertiary-fixed-dim#00695c
on-tertiary-fixed#001f1a
on-tertiary-fixed-variant#004d40
background#1e1e1e
on-background#cccccc
surface-variant#2d2d2d

Typography

display
fontFamily: Syne · fontSize: 68px · fontWeight: 800 · lineHeight: 76px · letterSpacing: -0.04em
headline-lg
fontFamily: Syne · fontSize: 48px · fontWeight: 700 · lineHeight: 56px · letterSpacing: -0.02em
headline-md
fontFamily: Syne · fontSize: 32px · fontWeight: 700 · lineHeight: 40px · letterSpacing: -0.01em
title-lg
fontFamily: JetBrains Mono · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0.02em
body-lg
fontFamily: JetBrains Mono · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
body-md
fontFamily: JetBrains Mono · fontSize: 14px · fontWeight: 400 · lineHeight: 20px · letterSpacing: 0.01em
label-md
fontFamily: JetBrains Mono · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em
label-sm
fontFamily: JetBrains Mono · fontSize: 11px · fontWeight: 400 · lineHeight: 14px · letterSpacing: 0.08em

Design guidance

Overview

Aahana Bobade's portfolio embraces the **Code Editor Aesthetic**—a design movement that transforms developer tools into narrative interfaces. The brand personality is technical yet approachable, leveraging the familiar VS Code UI paradigm to communicate expertise in backend engineering, AI/ML, and data science. The interface acts as a living codebase where portfolio content becomes executable narrative: file trees reveal projects, syntax highlighting draws attention to key skills, and the editor canvas becomes the stage for accomplishment. The emotional response is one of clarity and competence—users immediately recognize the environment and trust the creator's technical depth. Voice: precise, direct, and conversational. Vocabulary leans on developer idioms ("building intelligent systems," "backend engineering," "scalable solutions") without pretension. Example sentence: "I build systems that are genuinely intelligent and scalable."

Colors

The color system mirrors VS Code's dark theme with intentional accent layers. **Primary (#007acc)** is the signature VS Code blue, used exclusively for interactive CTAs (the "Projects" button), active tab indicators, and focus states—it commands attention without overwhelming the monochromatic canvas. **Secondary (#ff6fd8)** is a vibrant magenta that appears in the hero name treatment ("Bobade") and badge accents, providing brand personality and visual pop against the dark background. **Tertiary (#4ec9b0)** is a teal accent used for syntax highlighting and secondary interactive elements, reinforcing the code editor metaphor. The surface stack progresses from #1e1e1e (base background) through #252526 (container), #2d2d2d (elevated), and #333333 (highest), creating subtle depth without relyi

Typography

The type system pairs **Syne** (display/headline weights: 700–800) for hero and section titles with **JetBrains Mono** (body/label weights: 400–600) for all interface text and code content. This pairing communicates the duality of the brand: Syne's geometric boldness conveys creative confidence, while JetBrains Mono's monospace precision anchors the technical narrative. Display text (68px, 800 weight, -0.04em tracking) creates immediate visual hierarchy; headlines (32–48px, 700 weight) organize content sections. Body text (14–16px, 400 weight, 0.01em tracking) maintains readability in the dense editor layout. Labels (11–12px, 400–500 weight, 0.05–0.08em tracking) provide micro-hierarchy for badges, buttons, and metadata. Apply text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) on small labels (11px

Layout

The layout follows a **VS Code grid model**: a fixed 48px activity bar (left), a 220px collapsible sidebar (file explorer), and a fluid main editor canvas. The container max-width is 1100px, ensuring content remains scannable on wide displays while respecting the editor's visual boundaries. Spacing uses a semantic scale: **xs (4px)** for micro-spacing (icon gaps, badge padding), **sm (12px)** for component internal padding, **md (24px)** for section gutters and card padding, **lg (40px)** for major section separation, and **xl (64px)** for hero-to-content transitions. The grid employs 12 columns with a 24px gutter, allowing flexible 2/3/4-column layouts for project cards and skill grids. White-space is intentional: the hero section uses lg spacing above and below to isolate the name treatm

Elevation & Depth

Depth is achieved through a **layered surface stack** rather than dramatic shadows, mirroring VS Code's flat-with-borders aesthetic. Level 1 (Base): the background (#1e1e1e) with no shadow. Level 2 (Standard Card): surface-container (#252526) with a 1px solid border at {colors.outline} (#3c3c3c) and box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15). Level 3 (Elevated/Modals): surface-container-high (#2d2d2d) with the same border and box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25). Hover states increase the shadow to md (0 3px 8px) and shift the background to the next level in the stack, creating a subtle l

Shapes

The shape philosophy is **Precise Minimalism**: border-radius values are small and intentional, reflecting the geometric precision of code editors. Buttons and inputs use **md (5px)** radius, creating a subtle softness without compromising the technical aesthetic. Cards and elevated containers use **lg (6px)** radius for slightly more breathing room. Badges and pills use **full (9999px)** radius for a cohesive, token-like appearance. The activity bar buttons use **md (5px)** radius to align with the editor's compact icon grid. Tab buttons have **0px** radius (sharp corners) to reinforce the ed

Components

Action Elements **Button-Primary** (#007acc, 40px height, 12px 24px padding, md radius, label-md typography) is the exclusive CTA for primary actions ("Projects" button). Hover state brightens to #0097a7 (primary-fixed-dim) with filter: brightness(1.1) and a 0.15s ease transition. **Button-Secondary** (transparent bg, 1px outline border, same dimensions) is used for secondary actions ("About Me", "Contact"). Hover state adds rgba(255, 255, 255, 0.08) background and shifts border to on-surface-variant. **Button-Ghost** (rgba(255, 255, 255, 0.07), 28px height, 3px 12px padding, label-sm typography) is used for tertiary actions and metadata buttons (file tabs, menu items). Hover state increases background opacity to 0.12 and text color to on-surface. All buttons use transition: background

Do's and Don'ts

**Do**

  • Do use primary (#007acc) exclusively for the most important CTA on each page—typically one button per section—to maintain visual hierarchy and prevent decision fatigue.
  • Do apply the surface stack progression (surface → surface-container → surface-container-high) for nested or elevated UI elements to create depth without shadows.
  • Do use JetBrains Mono for all body text and labels to reinforce the code editor aesthetic; reserve Syne for display and headline text only.
  • Do include 1px solid borders at {colors.outline} on all cards and containers to define edges in the flat, layered design system.
  • Do use rgba-based overlays (e.g., rgba(255, 255, 255, 0.07)) for ghost buttons and hover states instead of solid color shifts to maintain the glass-like aesthetic.
  • Do keep border-radius values small (2–6px) and intentional; avoid large radii that soften the technical precision of the editor metaphor.

**Don't**

  • Don't use secondary (#ff6fd8) or tertiary (#4ec9b0) for CTAs; these are accent colors for highlights and badges, not primary actions.
  • Don't apply shadows larger than lg (0 8px 24px) or use blur/backdrop-filter effects; the editor aesthetic relies on flat layers and borders, not atmospheric depth.
  • Don't mix Syne and JetBrains Mono within a single text element; maintain clear typographic separation between display and body content.
  • Don't use colors outside the defined palette (e.g., arbitrary hex values) for interactive elements; all buttons, links, and states must reference the token system.
  • Don't apply rounded corners larger than lg (6px) to buttons or cards; the technical aesthetic demands precision, not softness.
  • Don't use on-surface-variant (#777777) for primary text; it's reserved for secondary labels, disabled states, and metadata only.