One script tag. Your classes are compiled on the edge, cached globally, and served in under 50ms. No npm. No config. No maintenance.
<!-- This is the entire setup. -->
<script src="https://useweft.dev/client/latest.js"></script>
<!-- Now use Tailwind classes anywhere. -->
<div class="flex items-center gap-4 p-6
bg-white rounded-xl shadow-lg">
<h1 class="text-2xl font-bold">
It just works.
</h1>
</div>
The client script (2kb) scans your HTML for Tailwind classes and computes a SHA-256 hash. Same classes always produce the same hash — this is the key insight.
On first visit, the classes are sent to a Cloudflare Worker running the real Tailwind v4 engine. Compilation takes ~8ms. The resulting CSS is cached globally on the edge.
On every subsequent visit — by anyone, anywhere — the CSS is served from edge cache or the browser's HTTP cache. Zero compilation. Zero round-trips. Instant.
Unlike the Tailwind Play CDN, useWeft is designed for production. No FOUC. No client-side CPU cost. Proper cache headers.
Every user warms the cache for everyone else.
flex items-center gap-4
is probably already compiled.
Works with HTMX, Alpine.js, Livewire, Django templates, Go/templ, Rails ERB, plain HTML — anything that renders markup.
Your Tailwind classes are standard. When you outgrow useWeft, switch to a build step — your HTML doesn't change. Zero lock-in.
→ HTMX and Alpine.js projects
→ Server-rendered apps (Django, Rails, Laravel, Go)
→ WordPress and CMS sites
→ Prototypes that become production
→ Internal tools and admin panels
→ Static sites without a build step
→ Email template builders
→ Documentation sites
Free during beta. Generous free tier forever. Open-source client.