v0.1 · public beta
Let the model write
Let the model write
@card, not forty classes.
Recipes are Tailwind shorthand an LLM writes instead of walls of utilities — expanded to byte-identical CSS at build. Same render, 41% fewer tokens.
Demo Opus 4.8
Dashboard.tsx
model writes 55 tok
<div class="@card"> <p class="@eyebrow">Revenue</p> <h3 class="@heading-md">$48,120</h3> <p class="@muted">+12.5% MoM</p> </div>
build emits 93 tok
<div class="rounded-lg border border-border bg-card text-card-foreground p-4"> <p class="font-mono text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground">Revenue</p> <h3 class="text-xl font-semibold text-foreground">$48,120</h3> <p class="text-sm text-muted-foreground">+12.5% MoM</p> </div>
both render identically · 41% fewer tokens · Opus 4.8
Revenue
$48,120
+12.5% MoM
Cloud optional
Ship the page, not just the CSS.
page.html
<div class="hero"> <h1>Launch</h1> <p>You're live.</p> </div>
→↓ publish
your-page.shortwind.app
Launch
You're live.
Served free from the edge.
Any HTML, recipes or plain. No repo, no deploy config, page views never billed.
How it works
- 01
Own your recipes
initcopies arecipes/folder you edit. Versioned, yours, no black box. - 02
Agents write @card
A generated
SKILL.mdhands your coding agents the whole recipe palette. - 03
Build expands it
Recipes compile to Tailwind. Identical CSS, nothing extra shipped to the browser.
Catalog 25 families · 165 recipes
npx @shortwind/cli@beta init