Stream AI answers word by word in 15 lines
Stop making users stare at a spinner while your AI feature thinks. Stream the answer word by word with 15 lines of JavaScript, no library, in every modern browser.
Read the full issueasync function ask(question) {
const response = await fetch('/api/ask', {
method: 'POST',
body: JSON.stringify({ question }),
});
const reader = response.body.pipeThrough(new TextDecoderStream()).getReader();
output.textContent = '';
while (true) {
const { value, done } = await reader.read();
if (done) break;
output.textContent += value;
}
}
What people say
Marko's newsletter fits my busy schedule. Small, digestible tips that keep me sharp without any extra effort.
One of my favorite newsletters. Modern web dev tips delivered straight to my inbox, every week.
Marko's newsletter is one of my favorite Saturday reads. It's genuinely worth your time.
Marko's advice is rooted in real experience, not theory. Easy to apply and worth following if you want to grow.
Marko taught me to stop over-polishing and start shipping. Result: 3× faster launches. Pure grind mode now. ⚔️
Marko's consultation was full of practical insights I could apply right away. I'd recommend it to anyone.
Marko helped us hit #2 Product of the Day on Product Hunt. His passion for web dev is contagious, a true difference-maker.
Marko completely turned around our social media content strategy. 100% recommend him if you want real results.
Marko is my go-to for social media strategy. He builds branding that actually reaches people with no wasted effort.
Marko shaped my X content strategy from scratch. I went from zero to 250K followers and I'm still growing.
Recent issues
Let AI agents use your site with 3 HTML attributes
AI agents guess their way through your UI. Add 3 HTML attributes to your search form and they call it like a function instead. No library, no backend.
Skeleton loaders in pure CSS
Spinners make pages jump and flicker. Build a skeleton loader in pure CSS that only appears when loading is actually slow. Zero dependencies.
Skip the CSV export library: 12 lines of vanilla JS
Turn any HTML table into a CSV download with 12 lines of JavaScript. No backend, no library, and it opens correctly in Excel.
A tag input that feels like a real product
Your tag input is silently dropping the last thing users type. Here's the 4-line fix, plus paste handling that finally works with spreadsheets.
A countdown that stays accurate in a background tab
Your checkout timer says 4:55 when the cart already expired. Why background tabs break setInterval countdowns, and the three-line fix.
A sticky table header and first column in 6 lines of CSS
Freeze a table's header row and first column with five lines of CSS.












