nowfound

Work · December 19, 2024

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.

Visit mizu.sh ↗Alternativestop 3% of December 2024

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 →
  • mizu.js2024 · mizu.sh · ▲13

    Supercharges your HTML with ease

  • Tailwind UI Templates2022 · tailwindcss.com · ▲444

    Beautiful Next.js templates built by the Tailwind CSS team.

  • Anime.js – Polyvalent JavaScript Animation Engine2016 · anime-js.com · ▲283

    A fast, multipurpose and lightweight JavaScript animation library

  • UG
    Use 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&#x2F;template package to see if I can write UIs in a React-like manner. I found most of the online docs using…

  • BP
    Build progressively enhanced reactive HTML apps using Go and Alpine.js2023 · livefir.fly.dev · ▲127

    Fir leverages Golang’s standard library html&#x2F;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&#x2F;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&#x2F;footer boilerplate on a simple static webpage. My goal is to approximate the experience of Jekyll&#x2F;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&#x2F;Gitlab actions) - works on any webserver…

More work this month

the category →

Source: Show HN post ↗ · launch text quoted in part

Launched alongside, December 2024

the whole month →
  • Remy AI▲2,170

    Anyone can sleep and recover better

    AI · 2024 · apps.apple.com

  • Remento▲1,681

    The AI biographer for loved ones

    AI · 2024 · remento.co

  • Aimfox▲1,213

    Built for LinkedIn outreach, made to close deals

    Growth · 2024 · aimfox.com

  • Stackfix▲1,112

    Compare software in seconds

    AI · 2024 · stackfix.com

  • Coval▲1,012

    Simulation & evals to ship delightful voice & chat AI agents

    AI · 2024 · coval.ai

  • VocAdapt▲961

    Master languages with AI-adapted authentic content

    Life & fun · 2024 · vocadapt.com