keelv0.1

// ai interface builder

design your app in minutes, not weeks.

build interfaces without the friction. real code, real components, no fluff.

prompt

> a pricing card, three tiers, monospace labels

keel

parsed intent

resolved tokens · 14

built 3 components

wrote PricingCard.tsx · 0 errors

PricingCard.tsxtsx · tailwind
1export function PricingCard({ tier }) {
2 return (
3 <div className="border border-zinc-800 p-6">
4 <p className="font-mono text-xs">{tier.name}</p>
5 <p className="mt-2 text-3xl">${tier.price}</p>
6 <ul>
7 {tier.features.map((f) => (
8 <li key={f}>{f}</li>
9 ))}
10 </ul>
11 </div>
12 )
13}
01

it ships real code.

not screenshots, not a figma export. every generation is a working component tree with your tokens baked in.

component.tsx
1// generated, themeable
2<Button variant="primary"
3 size="sm">
4 start building
5</Button>
7<Input placeholder="email" />
theme.ts
1export const theme = {
2 bg: "#000",
3 ink: "#ededed",
4 radius: 0,
5 space: [4, 8, 16],
6 font: "JetBrains Mono"
7}
layout.txt

3-col · gap-4 · auto-rows

02

you can see what it did.

every change is a diff you can read and a log you can trust. keel writes code the way you would, then tells you exactly what it touched.

$ keel build

$ keel build ./pricing

reading prompt … ok

resolving theme zinc/dark

generating 3 components

✓ PricingCard.tsx

✓ TierToggle.tsx

✓ theme.ts

done in 4.2s · 0 errors

$

theme.ts+6 -2
export const theme = {
- radius: 8,
+ radius: 0,
bg: "#000",
+ ink: "#ededed",
+ font: "JetBrains Mono",
- accent: "indigo",
}
03

three steps. that's it.

01

describe it

one line of plain english, or paste a rough wireframe. no design tools, no setup.

02

read the diff

keel writes the components, the theme, and the layout. you review the code, not a mockup.

03

ship it

copy it into your repo. it's your stack, your tokens, your components. keel just got out of the way.

// early access

stop mocking things up. start building.

keel is in private beta. drop your email and we'll send you a key.

>