khe, Harshit Khemani's design system

How Harshit Khemani's things look, read and move. khe is one set of colours, type, springs and parts for the website khe.money, papers, decks and whatever comes next. Every value is written once, in one file, and used everywhere. It is open source under the MIT licence: github.com/HKTITAN/khe.

Status: draft, v0.1. The mark is still being drawn; the word set in Inter Black stands in.

When to use khe

Colour

Paper and ink do almost all the work. Yellow only ever highlights: it marks words, never fills a button. The greys are a 12-step sand ramp (gray and slate are alternatives). In dark mode the steps flip, depth comes from a lighter surface instead of a shadow, and text is bright white. Roles: --bg-page, --bg-subtle, --bg-surface, --border-subtle, --border-strong, --text-primary, --text-secondary, --text-tertiary, --highlight, --guide.

Type

One sans, Inter, for reading and for names. Headings are Inter Black, uppercase, in a heading grey. The khe mark is set in the heading face. Numbers, dates, code and file names are Geist Mono. A thin hand, Nothing You Could Do, is for margin notes only, never body text.

Motion

Everything moves on a spring token: smooth (stiffness 260, damping 32) for sections and dialogs, snappy (500, 30) for toggles, tabs and menus, bouncy (380, 16) for small moments of delight. Things enter from where they were and leave the way they came. Nothing moves on a keystroke. Reduced motion turns movement off and keeps the change.

Surface

Flat paper and hairlines. Three radii: badge, control and card. In the dark, each layer in is one step lighter, and nothing casts a shadow.

Components

Button, Switch, SegmentedControl, Tabs, Menu, Dialog, Tooltip, Checkbox, Slider, CopyButton, CommandPalette and ThemeToggle. Behaviour (keyboard, focus, screen readers) comes from ui-sdk; the look comes from khe. Variants are closed and there is no className escape hatch.

Illustration and icons

Spot drawings in one ink line, shapes filled with paper, exactly one part in highlighter, and one move on the verb. Icons are drawn on a 16-unit grid with a 1.25 stroke and round caps.

Voice

Social posts and notes are lowercase, short lines, one idea per line. Product text and docs use sentence case and stay just as short. Open with a plain hook. No hashtags, almost no emoji. Say agents, never AI agents.

Skills

The skills Harshit builds with are at github.com/HKTITAN/skills. Install them all with npx skills add HKTITAN/skills.

Files

Made by Harshit Khemani.