ui-lab.app
React component library and design system with accessible, themeable components.

I design and build digital products with a focus on great UI — tools and interfaces that are clear, useful, and enjoyable to use.
My work blends design and development, especially around UI systems and developer-facing products. See more on my GitHub , including ui-lab.
KyzaMain Projects
Side Projects
React component library and design system with accessible, themeable components.
UI Lab is a React component library and design system built for accessible, themeable interfaces. It provides 39 carefully crafted React components built on industry-standard accessibility patterns, paired with a semantic design token system and interactive tooling. The monorepo includes an MCP server for AI-assisted development and a full-featured Next.js documentation site with live previews and an interactive theme configurator.
The library provides a complete set of UI components organized into 9 categories:
Key Features:
Card.Header/Body/Footer, Modal.Header/Body/Footer)The ui-lab-mcp package is a Model Context Protocol server that lets AI coding assistants query the library directly with 12 specialized tools:
search_components — Natural language component discoveryget_component — Full API, examples, and design guidanceget_semantic_color — Color recommendations for component + intent pairsget_theme_setup — Complete theme provider setup with FOUC preventionsearch_patterns — Design pattern discovery by use caseget_pattern — Pattern code and design rationalesearch_elements — Multi-component UI block searchget_element — Element variations and source codesearch_sections — Landing page section discoveryget_section — Section variations and sourceget_inspiration — Fuzzy discovery across all categoriesget_variation_code — Source code for specific variationsCompatible with Claude Desktop, Cursor, and any MCP-compatible AI development tool.
A Next.js-powered documentation site featuring:
Shipping a library with an MCP server alongside it changed how I think about documentation. The MCP forces the registry to be machine-readable in a way that also makes it more structured for humans. The theme system — especially preventing FOUC across server and client renders — required more careful coordination than expected between ThemeProvider, generateThemeScript, and localStorage.