Mizu.js – Lightweight HTML templating library for any-side rendering
Hey HN, I'd like to share a fun project I've been working on: mizu.js. It's a js library that add functional attributes support into your html, designed to be a simple and flexible alternative to fully-fledged web frameworks (such as Vue, React, and Angular), while offering more capabilities than other lightweight options (like Alpine.js and htmx). As it's written using modern ES features and due to its isomorphic nature, it can be run in both browsers and runtimes (Node, Deno, Bun) without any changes. This makes it ideal for client-side and server-side rendering, as well as static site…
Mizu.js – Lightweight HTML templating library for any-side rendering launched on December 19, 2024 with 225 votes, #164 of 5,365 launches that month and more than 95% of that year's launches. The site was still online in September 2026, 1 year on.
In plain words
Mizu.js is a JavaScript templating library that adds functional attributes to HTML, positioned between lightweight tools like Alpine.js and full frameworks like React. Written with modern ES features, it runs isomorphically in browsers and server runtimes like Node, Deno, and Bun without modification, supporting client-side rendering, server-side rendering, and static site generation. It requires no configuration or transpilation and provides templating, attribute binding, interactivity, HTTP handling, and custom components out of the box.
written from the facts on this page · September 2026
From the sources
mizu.js is a TypeScript/JavaScript library designed to provide a simple and efficient way to create dynamic web pages without the need for a complex framework.
#!/usr/bin/env -S deno serve --allow-read --allow-env // Server-Side Rendering (SSR) with Mizu import Mizu from "@mizu/render/server" export default { async fetch ( ) { const headers = new Headers ({ "Content-Type" : "text/html; charset=utf-8" }) const body = await Mizu . render ( `<div *text="foo"></div>` , { context : { foo : "🌊 Yaa, mizu!" } }) return new Response (body, { headers }) }, } #!/usr/bin/env -S deno run --allow-read --allow-env --allow-net --allow-write=/tmp/output // Static Site Generation (SSG) with Mizu import Mizu from "@mizu/render/server" await Mizu . generate ([ // Copy content from strings [ `<div *text="foo"></div>` , "index.html" , { render : { context : { foo :…from mizu.sh
In the maker’s words, at launch
Hey HN, I'd like to share a fun project I've been working on: mizu.js. It's a js library that add functional attributes support into your html, designed to be a simple and flexible alternative to fully-fledged web frameworks (such as Vue, React, and Angular), while offering more capabilities than other lightweight…
Does a similar job
all alternatives →
Tailwind UI Templates2022 · tailwindcss.com · ▲444Beautiful Next.js templates built by the Tailwind CSS team.
Anime.js – Polyvalent JavaScript Animation Engine2016 · anime-js.com · ▲283A fast, multipurpose and lightweight JavaScript animation library
- UGUse Go's HTML/template to write React-like code2024 · ▲106
Hi all, I'm currently working on my hobby project, and one of the fun constraints I put in was to build using as less dependencies as possible. I chose Go as it has a really good standard library, and all went well for building backend. But for frontend, I was wondering whether I should break the constraint and go for React. I tried options like Web Components, but I really didn't like the ergonomics and I didn't want to use jQuery either. Out of curiosity, I was exploring Go's html/template package to see if I can write UIs in a React-like manner. I found most of the online docs using…
- BPBuild progressively enhanced reactive HTML apps using Go and Alpine.js2023 · livefir.fly.dev · ▲127
Fir leverages Golang’s standard library html/template package and a bit of alpinejs to allow building reactive UIs. You start with plain old html and use alpinejs to enhance it to bring no-page-reload interactivity to web apps. The Fir toolkit is designed for Go developers with moderate html/css & js skills who want to progressively build reactive web apps without mastering complex web frameworks. It includes a Go library and an Alpine.js plugin. How it works ? On receiving user-interactions the fir server re-renders html templates and sends it over the wire where the fir client…
JavaScript-free (X)HTML Includes2025 · github.com · ▲211(spoiler: its XSLT) I've been working on a little demo for how to avoid copy-pasting header/footer boilerplate on a simple static webpage. My goal is to approximate the experience of Jekyll/Hugo but eliminate the need for a build step before publishing. This demo shows how to get basic templating features with XSL so you could write a blog post which looks like My Article some content hello hello Some properties which set this approach apart from other methods: - no build step (no need to setup Jekyll on the client or configure Github/Gitlab actions) - works on any webserver…
More work this month
the category →
Endless lofi beats composed live in your browser, over pixel-art nights in Paris, Tokyo, New York, Hong Kong, Sydney, San Francisco and more. Free, no sign-up.
Work · 25d ago · loficities.com
Smooth Recorder▲257Mac screen recordings that look edited when you hit stop
Work · 19d ago · smoothrecorder.com


Work · 13d ago · readrare.com
Source: Show HN post ↗ · launch text quoted in part