Keen Studio

Keen is a UI generation system for React and React Native, built around a single belief: clarity is not accidental, it has to be enforced. Most component libraries hand developers flexibility, and flexibility is exactly where visual inconsistency creeps in. Keen takes the opposite approach: components make the design decisions, and those decisions are locked in structurally rather than left to convention.
The rule underneath every component is simple: one component, one primitive, one interaction, always. A Button handles a press, an Input handles a string, a Checkbox handles a boolean. There are no multi behavior props and no combined components.
Two pieces drive the system. generateTheme() generates a complete, accessible design system automatically. createUI() locks design properties like size and variant globally at the type level, so any deviation from the system isn't a lint warning, it fails to compile. Together, they mean a project's entire visual identity can be set up in one step.
That setup happens through a CLI and visual configurator: npx keen init opens Keen Studio, where a handful of decisions are made once, and the project's theme, provider, and component exports are generated automatically from there. Shared component packages cover both web and native, so every component is built and maintained for both platforms in parallel, not ported after the fact.
The longer term direction is bigger than the component library itself. The goal is a system where a product owner can describe what they need in plain language and Keen generates it, consistently, correctly, and ready for production, using the same enforced design vocabulary the components already provide today.
Let's build something together.
Contact me →