EST. 2026·v1.0 · Aug '26
--:--:-- IST
Vadodara, India

Index

System.

The working language of this site. Cool-neutral paper, hairline rules, three faces. Click a swatch to copy its token. Flip the dock to see dark.

01 · Principles05
  1. 01

    Paper, not chrome

    Cool-neutral ink on a paper surface. Hairline rules do the work that cards, shadows, and fills would do elsewhere.

  2. 02

    Three faces, three jobs

    Instrument Serif is voice. Geist Sans is reading. Geist Mono is metadata, keys, and counts. Never swap those jobs.

  3. 03

    One column, 760

    Everything lives in a 760px column with a 24px gutter. Density comes from type and rules, not from a second rail.

  4. 04

    Hover dims the room

    A list hover fades siblings and lifts the row. Motion is 150-200ms on color and transform only, with ease-editorial.

  5. 05

    Keyboard is first-class

    R opens the résumé. ⌘K opens everything. Shortcuts are labeled in mono, not buried in a help modal.

02 · Color17

OKLCH, hue 250. Surfaces, ink, rules, then one accent. No brand color.

Surface

Ink

Rule

Accent

Semantic

03 · Type10

Instrument Serif for voice. Geist Sans for reading. Geist Mono for metadata. Ligatures on, tracking tight.

Displayserif italic · 88px / 64px

Dhairya

Home name, 404

Pageserif italic · 56px / 40px

Writing

Section index titles

Articleserif italic · 52px / 36px

Design tokens

Writing post title

Prose titleserif italic · 40px / 32px

A working definition

MDX h1

Sectionsans · 20px

Smallest setup that pays off

MDX h2

Bodysans · 14px

Full-stack engineer shipping user-centric apps.

Site default, list titles

Prosesans · 15.5px

A design token is a name pointing at a value.

Writing paragraphs

Supportingsans · 12.5px

Selected personal work.

Taglines, experience body

Metamono · 11px

EST. 2026 · IST

Years, clocks, kbd, footer

Eyebrowmono · 10.5px

02 · WORK

Section labels, counts

04 · Space

One column. Compact breakpoint at 580px. Radius stays small.

Column
760px
Gutter
24px
Compact
580px
Section
40px
Row
16px
Measure
56ch
4px
6px
8px
12px

Kbd, chips, tab pills · Dock, tab lists · Panels, terminal window · Unused. Do not invent larger.

05 · Motion

Color and transform only. Never layout. Reduced motion: All motion collapses to 0.001ms.

Ease
cubic-bezier(0.2, 0, 0, 1)
Fast
150ms · color, links
Base
200ms · transform, row hover
pulse-softcaret-blinkping-soft

Hover the list below. Siblings fade. The arrow walks northeast.

06 · Components

Editorial primitives. shadcn is infrastructure underneath. These are the ones the site actually speaks.

Kbd

PressRfor résumé·⌘ + Kfor everything

Chip

LiveDraftBeta

Eyebrow

02 · Work05

Editorial tabs

Terminal tabs

07 · Voice04
  1. 01

    Plain dash

    Never an em dash. A hyphen with spaces: React, TypeScript, Node - shipping user-centric apps.

  2. 02

    Sentence case

    Buttons, nav, and labels stay sentence case. Uppercase is reserved for eyebrows and chips.

  3. 03

    Name the action

    Press R for résumé. ⌘K for everything. Copy says what happens, not how it is built.

  4. 04

    Short, then stop

    One job per sentence. No newsletter voice. No filler. The empty state tells you where to go next.