kb
Kratin BhardwajProduct Designer
Front End

Kratin Bhardwaj

// design engineer
Frontend DevelopmentAI IntegrationWeb HostingDesign SystemsWorkflow
github.com/bhardwajkratin18-bit

Product designer shipping production TypeScript. Everything on this page is either running here or public on GitHub.

01 · Repositories

Building in the open

ops-deck

Data-intensive command dashboard: virtualized 10,000 row table, live updating feed, keyboard-first navigation, built on kaikit.

IN PROGRESS
Loading repositories from the GitHub API...
02 · Design systems

Tokens the front-end can consume

3 systems, shown as the code sees them: custom properties, component counts, and accessibility coverage. The stories and outcomes live in the case studies.

Design system boardtokens as code

The editorial system as the front-end consumes it: 4 brand tokens, 3 type roles, and 40+ components behind 1 consistent API, so editors compose pages the code already knows how to render.

:root {
  --frcc-navy:  #243269;   /* structure, nav, headers */
  --frcc-gold:  #F2B41C;   /* action, focus, accents  */
  --frcc-paper: #FFFFFF;
  --frcc-ink:   #141414;

  --frcc-head: "Roboto Condensed";
  --frcc-body: "Roboto";
  --frcc-ui:   "DM Sans";
}
40+Components in the system
45 → 90%WCAG 2.1 AA coverage
2 → 1Navigation modes, 1 component set
Full system in the FRCC News case study
03 · kaikit

The component library, demoed live

kaikit is the open source React library from the repositories above. The panel below renders its 3 launch patterns on this page. Try them with a keyboard.

kaikit · interactive demorendered live on this page
Button · 3 variants, 1 focus ring
Tabs · roving tabindex, arrow keys, Home and End
Color, space, radius, type, elevation, duration, and easing all live as design tokens. Motion is a token too, so interaction feel stays consistent across every component.
Dialog · focus trap, Escape, focus restore
04 · The craft checklist

What production-ready means here

FOCUSFocus is designed

1 visible focus ring everywhere, driven by a token. Dialogs trap focus and give it back. Nothing loses your place.

KEYBOARDEvery path works without a mouse

Roving tabindex on tabs, arrow key navigation, Escape where you expect it, semantic HTML underneath it all.

MOTIONMotion is a token

Durations and easing curves live next to color and spacing, and every animation respects prefers-reduced-motion.

STATESHonest states for AI

Confidence, uncertainty, and review states are designed surfaces, not hidden failures. Learned shipping real AI products.

PERFORMANCEBudgets are respected

The 3D cast holds 60 fps on 1 shared WebGL context. Heavy work stays off the render path and off the main thread where possible.

PROOFTested, typed, and in CI

Strict TypeScript, behavior tests with Testing Library, and a green pipeline before anything ships.

05 · AI integration

Models as front-end material

SHIPPED · PROFESSIONALConfidence as a component state

On the LLM routing platform I designed at FRCC, the front-end renders model certainty against a visible 85 percent gate: cleared requests auto route, uncertain ones open a human review surface, and every correction flows back as labeled data. The business outcomes live in the case study.

Read the case study
SHIPPED · THIS SITEA grounded assistant, not a parrot

Kai's typed answers come from a Cloudflare Worker holding a curated knowledge base and the API key server side. If the answer is not in the knowledge base, Kai says so and shares my email. He does not guess.

HE IS IN THE CORNER · ASK HIM
06 · Live on this site

Production work, running here

ASSISTANTKai, the site assistant

A dependency-free TypeScript engine on pure CSS and DOM. He persists across page navigation and respects reduced motion.

ON THIS PAGE
WEBGLA procedural 3D cast

9 characters modeled, rigged, and animated in Three.js: 60 fps, 0 downloaded assets, 1 shared WebGL context.

See the cast
SYSTEMThe site itself

Custom code components end to end: navigation chrome, film grain, fluid frames, scroll reveals, 1 visual grammar.

See the design work
07 · Stack

Languages and tools

TypeScriptJavaScriptReactReact NativeHTMLCSSThree.jsNode.jsCloudflare Workers

Working alongside: Figma, Framer, Storybook, Cursor, and Claude Code. Design and code are 1 loop here, not a handoff.

08 · Contact

Get in touch

Open to senior product design and design engineer roles, especially on AI-native products. Based in Denver, Colorado.

bhardwajkratin18@gmail.com
Design · Engineering · 1 loopDenver · Colorado