Introduction
cuttlekit is a generative UI toolkit that turns natural language into fully interactive user interfaces. Describe what you need, and an LLM builds it β live in your browser, no code required on your end.
No templates. No generated JavaScript. No framework lock-in. Just working HTML + CSS streaming to the browser in real-time.
What can it do?
- π¬ Describe β UI β say what you want, get a working interface
- β‘ Real-time streaming β watch it build live in the browser
- π±οΈ Fully interactive β buttons, forms, drag & drop β all work
- π Iterate by talking β refine by describing changes
- π API integrations β connect to Linear, Notion, and more
- π€ Multi-model β Gemini, Groq, or any OpenAI-compatible provider
- π§ Memory β remembers past interactions across sessions
How it works
Every click, form submission, or drag action is sent to the server. The LLM sees the current page state and generates minimal CSS-selector patches β no full-page re-renders for small changes.
Quick start
Running locally
git clone https://github.com/betalyra/cuttlekit.gitcd cuttlekitpnpm installConfigure your environment:
cp .env.example .env # add your API keyscp config.example.toml config.tomlYouβll need at least one model provider API key in .env. The easiest way to get started is with Google AI Studio β the Gemini API is free to use.
Then start both servers:
pnpm run dev:backend # terminal 1pnpm run dev:webpage # terminal 2Open http://localhost:5173 and start describing UIs.
Running with Docker
git clone https://github.com/betalyra/cuttlekit.gitcd cuttlekitcp .env.example .env # add your API keyscp config.example.toml config.tomldocker compose up --buildOpen http://localhost:34513 and youβre ready to go.