Server sends the first chunk immediately: skeletons/instant data render right away, no waiting.
HTMS 💨 Streaming Demo
Stream Async HTML, Stay SEO-Friendly
Server Status
Always available
This loads instantly because it's static HTML!
Streaming Data
Calculating...
Accessibility
Always
Navigation & forms work immediately!
User Stats
Loading...
Analytics
Processing...
System Health
All systems go
Static content = instant visibility!
What's happening above?
A quick peek at the streaming flow — from instant HTML to progressively completed cards.
As data resolves, more HTML chunks append to the DOM; you can watch this in the Network & Elements panels.
Cards finish with computed values already in the streamed HTML. SEO & accessible by default.
Take a look
Open DevTools and compare the server response with the final DOM.
- Open DevTools (F12 or Cmd/Ctrl + Shift + I).
- Network tab: click the main HTML document. Look at the Response panel while it loads.
- Elements tab: watch nodes appear as streaming continues.
- You will see that the final values are already in the server response.
More details on GitHub: htms-js
<!-- First chunk --> <div class="card loading" data-htms="salesData"> Loading sales data... </div> <!-- Later chunk --> <htms-chunk target="salesData"> <div class="card complete"> <strong>price</strong>: 19.99 </div> </htms-chunk>