Kai Liang

Selected work

Projects

A curated set of projects that reflect the kinds of work I tend to enjoy most: product surfaces, internal tools, and systems that improve how teams build and publish.

ProjectContent platform
Documentation Platform Refresh
Rebuilt a documentation and marketing surface around Next.js App Router and MDX so engineers could publish quickly without inheriting a CMS-sized maintenance burden.
  • Reduced template sprawl by moving layout, navigation, and page chrome into a small set of reusable server-rendered primitives.
  • Kept the authoring workflow explicit with typed metadata and a constrained component surface instead of adding a heavier editorial stack.
  • Focused on readability, predictable routing, and a codebase that another engineer could extend without reverse-engineering hidden conventions.

Stack

Next.jsTypeScriptMDXTailwind CSSVercel

Project details available on request

ProjectInternal tool
Release Operations Dashboard
Built an internal dashboard for product, support, and engineering teams to track release readiness, rollout status, and follow-up actions from a single operational view.
  • Designed the UI around high-signal scanning, with filters and summaries that helped teams answer operational questions quickly instead of navigating dashboard noise.
  • Used typed server-side data loading and clear UI states so the product stayed dependable as reporting needs changed.
  • Prioritized maintainability over novelty, keeping the interaction model lightweight and the data flow easy to trace in code review.

Stack

Next.jsTypeScriptPostgreSQLshadcn/ui

Project details available on request

ProjectFrontend platform
Design System Operations
Standardized shared UI primitives, tokens, and migration guidance across multiple product surfaces to reduce one-off styling and improve delivery consistency.
  • Replaced duplicated component logic with a smaller, better-documented set of primitives aligned to actual product usage.
  • Created migration patterns that let teams adopt the shared system incrementally instead of forcing a fragile big-bang rewrite.
  • Treated DX as part of the product: naming, defaults, and examples were optimized to reduce accidental complexity for the next engineer.

Stack

ReactTypeScriptTailwind CSSDesign Systems

Project details available on request