Show HN: µJS, a 5KB alternative to Htmx and Turbo with zero dependencies

Tiny 5KB web magic promises instant clicks — commenters ignite turf wars and feature fights

TLDR: A 5KB tool called µJS promises instant-feeling page navigation by swapping only changed content, no heavy framework needed. Comments oscillate between excitement, demands for comparisons, a call for automatic JSON support, and a surprise “quit GitHub” drop—highlighting a familiar split between simple HTML wins and real-world API needs.

A creator just dropped µJS, a teeny 5KB “make-it-feel-like-an-app” script that intercepts clicks and swaps only the changed part of a page, so your site feels instant — no big framework, no build step, just add a tag and call mu.init(). Cue the crowd roaring: one camp is cheering the simplicity, another wants receipts. OhghiZai asks for a head-to-head with Datastar, while recursivedoubts flexes the official stamp by adding it to the htmx alternatives page. Then nattaylor drops a callback to “htmz,” the minimalist cousin, and suddenly we’re in acronym alley, folks.

The spiciest skirmish? A practical gripe: ranger_danger wants the library to handle JSON (data sent by APIs) automatically — which htmx fans often resist — sparking a familiar “HTML vs data” showdown. Meanwhile, majorchord barges in with a link to Give Up GitHub, detonating a platform-politics bomb mid-thread like a reality TV wine toss.

Fans love the hover prefetch, no full reloads, and shiny progress bar; power users are eyeing “patch mode” for multi-section updates and SSE (live server pushes) for real-time dashboards. But the vibe is classic internet: applause, nitpicks, and a side quest about where open source should live. It’s tiny code, big drama — and everyone’s invited.

Key Points

  • µJS is a ~5 KB gzipped, zero-dependency AJAX navigation library that makes multipage sites feel like SPAs by intercepting internal links and forms.
  • Setup requires only adding a script tag and calling mu.init(), with no framework, build step, or server-side changes.
  • It works with any backend (e.g., PHP, Python, Ruby, Go, Node.js) and prefetches on hover with a built-in progress bar.
  • Advanced features include patch mode for multi-fragment updates, flexible triggers with debounce, support for HTTP verbs, and Server-Sent Events.
  • Built on modern web APIs (Fetch API, View Transitions API) with DOM morphing via idiomorph; open source MIT, created by Amaury Bouchard as part of Digicreon.

Hottest takes

“Would love to see a comparison with Datastar too” — ohghiZai
“https://sfconservancy.org/GiveUpGitHub/” — majorchord
“Does it parse JSON? I need APIs I can’t change” — ranger_danger
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.