Darjeeling First Flush
A bright, floral spring pluck from Castleton estate.
We’ll build a small marketing page — an imaginary tea shop called Steeped & Co. — from an empty HTML file. By the end you’ll have a hero, a feature grid, a quote, and a footer. Every visual decision is a chai-* class.
Create index.html and paste this scaffold. We’ll build everything inside <body>.
<!doctype html><html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Steeped & Co.</title> </head> <body> <!-- everything goes here --> </body></html>Open it in your browser. You should see a blank page. Good — that’s the starting line.
One line in <head>:
<script src="https://unpkg.com/@developedbysaad/chaitailwind"></script>That’s the install. After DOMContentLoaded the engine starts walking the DOM, finds every chai-* class, and converts each into an inline style. You’ll see this in action in the next step.
Replace the contents of <body> with a centered container that gives us a comfortable canvas.
<main class="chai-max-w-[960px] chai-mx-auto chai-p-12 chai-bg-cream-100"> <h1>Steeped & Co.</h1></main>Live preview:
The page now has structure — but it’s still bare. Time for some type.
A real headline, a tagline, and an eyebrow line on top.
<main class="chai-max-w-[960px] chai-mx-auto chai-p-16 chai-bg-cream-100"> <div class="chai-text-xs chai-uppercase chai-tracking-widest chai-text-saffron chai-mb-4"> Est. 2026 · Loose-leaf, slow brew </div>
<h1 class="chai-text-6xl chai-font-bold chai-text-chai-900 chai-leading-tight chai-mb-6"> A pot a day,<br> however you like it. </h1>
<p class="chai-text-lg chai-text-chai-700 chai-leading-relaxed chai-max-w-[60ch]"> Single-estate teas, hand-blended chai, and the equipment to do them justice. Brewed for people who measure mornings in steeping minutes. </p></main>Live preview:
Est. 2026 · Loose-leaf, slow brew
A pot a day,
however you like it.
Single-estate teas, hand-blended chai, and the equipment to do them justice. Brewed for people who measure mornings in steeping minutes.
Notice how chai-tracking-widest, chai-leading-tight, and chai-leading-relaxed give each block its own typographic personality.
Append a button after the paragraph:
<a href="#shop" class="chai-inline-block chai-mt-8 chai-px-6 chai-py-3 chai-bg-chai-700 chai-text-white chai-rounded-full chai-shadow-md chai-cursor-pointer chai-no-underline"> Browse the menu →</a>Live preview:
That’s the hero done. Time for content.
Three cards in a row using grid, with a small visual flourish on each.
<section class="chai-mt-20 chai-grid chai-grid-cols-3 chai-gap-6"> <article class="chai-p-6 chai-bg-saffron-100 chai-rounded-lg chai-border chai-border-saffron-300"> <div class="chai-text-xs chai-uppercase chai-tracking-wider chai-text-saffron-700 chai-mb-2">Origin</div> <h3 class="chai-text-xl chai-font-semibold chai-text-saffron-900 chai-mb-2 chai-m-0">Darjeeling First Flush</h3> <p class="chai-text-saffron-800 chai-leading-relaxed chai-m-0">A bright, floral spring pluck from Castleton estate.</p> </article>
<article class="chai-p-6 chai-bg-cardamom-100 chai-rounded-lg chai-border chai-border-cardamom-300"> <div class="chai-text-xs chai-uppercase chai-tracking-wider chai-text-cardamom-700 chai-mb-2">House blend</div> <h3 class="chai-text-xl chai-font-semibold chai-text-cardamom-900 chai-mb-2 chai-m-0">Cardamom Masala</h3> <p class="chai-text-cardamom-800 chai-leading-relaxed chai-m-0">Green cardamom, ginger, black pepper. Simmered, never boiled.</p> </article>
<article class="chai-p-6 chai-bg-masala-100 chai-rounded-lg chai-border chai-border-masala-300"> <div class="chai-text-xs chai-uppercase chai-tracking-wider chai-text-masala-700 chai-mb-2">Smoked</div> <h3 class="chai-text-xl chai-font-semibold chai-text-masala-900 chai-mb-2 chai-m-0">Lapsang Souchong</h3> <p class="chai-text-masala-800 chai-leading-relaxed chai-m-0">Pine-smoked black tea from Wuyi. Pairs with a thunderstorm.</p> </article></section>Live preview:
A bright, floral spring pluck from Castleton estate.
Green cardamom, ginger, black pepper. Simmered, never boiled.
Pine-smoked black tea from Wuyi. Pairs with a thunderstorm.
chai-grid-cols-3 does the work — repeat(3, minmax(0, 1fr)) under the hood — and chai-gap-6 spaces the children.
A simple block to break up the rhythm:
<blockquote class="chai-mt-20 chai-py-12 chai-px-8 chai-bg-chai-800 chai-text-cream-100 chai-text-center chai-rounded-lg chai-italic"> <p class="chai-text-2xl chai-leading-relaxed chai-max-w-[600px] chai-mx-auto chai-m-0"> "Tea is the magic key to the vault where my brain is kept." </p> <cite class="chai-block chai-mt-4 chai-text-saffron chai-text-sm chai-not-italic chai-tracking-wider"> — Frances Hardinge </cite></blockquote>Live preview:
“Tea is the magic key to the vault where my brain is kept.”
— Frances Hardinge
Closing line, two columns of links, a thin rule across the top.
<footer class="chai-mt-20 chai-pt-8 chai-border-t chai-border-chai-300 chai-flex chai-justify-between chai-items-center chai-text-sm chai-text-chai-700"> <div>© 2026 Steeped & Co. Brewed in Mumbai.</div> <div class="chai-flex chai-gap-6"> <a href="#" class="chai-text-chai-700 chai-no-underline">Stockists</a> <a href="#" class="chai-text-chai-700 chai-no-underline">Brewing guide</a> <a href="#" class="chai-text-chai-700 chai-no-underline">Trade</a> </div></footer>Live preview:
That’s the page — hero, features, quote, footer — in a single HTML file with one script tag.
Get the finished file
The complete HTML from this tutorial is saved as a downloadable file:
Made by Saad · @developedbysaad on X