{"slug": "datastar", "name": "Datastar", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Lightweight hypermedia JavaScript framework that drives frontend reactivity with server-sent events.", "recommenders": 12, "commenters": 14, "warners": 0, "score": 11.697, "rising": 3.38, "first": "2025-11-03", "latest": "2026-10-24", "why": "Loved for keeping app state on the server and pushing updates over SSE, for running from a single script include with no build step, and for handling highly interactive UIs where htmx hit its limits.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 15, "neutral": 1, "compare": 1, "warn": 0}, "spark": [1, 0, 2, 0, 0, 0, 2, 0, 3, 2, 1, 4], "listed": true, "loved": ["Server-driven SSE", "Beyond htmx"], "caveat": "Unclear value", "short_quote": "So we tried datastar, and it basically addressed all the friction points we had", "icon": true, "domain": "data-star.dev", "github_repo": null, "official_url": "https://data-star.dev/", "pricing": "open source", "aliases": ["Datastar", "DataStar"], "verdict": [{"text": "Loved for keeping app state on the server and pushing updates over SSE,", "cites": [{"id": 803532944, "item_id": 50220809, "url": "https://news.ycombinator.com/item?id=50220809", "by": "TacticalCoder", "date": "2026-10-24", "stance": "recommend", "quote": "I now much prefer to have it all on the server-side and I simplified everything by using SSE / datastar", "excerpt": "> Have you ever had to restore the exact state of things in an app, when you're manipulating and changing certain behavior of it, in a specific moment and a specific combination of values? In my own Clojure projects I now even included that as part of the app. I literally have a header (I'm working on webapps, with Datastar btw) with buttons to pause/rewind/forward/fast-forward through my application's states (and I ", "context": "Clojure webapp developer", "use_case": "Clojure webapps", "switched_from": "re-frame", "story": "Jank \u2013 The native Clojure dialect with seamless C++ interop"}, {"id": 732911808, "item_id": 45806988, "url": "https://news.ycombinator.com/item?id=45806988", "by": "JSR_FDED", "date": "2025-11-03", "stance": "recommend", "quote": "I\u2019ve compared Datastar and HTMX and decided on Datastar.", "excerpt": "I think the ideas behind HTMX are cool, and Carson\u2019s advocacy around Hypermedia is great. I came from SPA-land and was tired of the fundamental architectural issue of having to keep the front-end and back-end state in sync. I\u2019ve compared Datastar and HTMX and decided on Datastar. There\u2019s overlap between the two libraries in that they both support the request/response model, but with Datastar my learning investment ta", "context": "came from SPA-land", "use_case": "hypermedia web apps", "switched_from": "", "story": "</> Htmx \u2013 The Fetch()ening"}, {"id": 787265456, "item_id": 49204091, "url": "https://news.ycombinator.com/item?id=49204091", "by": "eliasdejong", "date": "2026-08-06", "stance": "recommend", "quote": "You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events.", "excerpt": "> FWIW I have a potential solution: to show live data in my app I use an SSE stream of OOB swaps. You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events. You don't have to do diffing yourself in application code because it's already handled by the framework under the hood through the \"idiomorph\" DOM morphing algorithm. [1] https://data-star.dev/", "context": "", "use_case": "live data with SSE", "switched_from": "", "story": "Building Progressively Enhanced Forms Using Htmx"}]}, {"text": " for running from a single script include with no build step,", "cites": [{"id": 802856162, "item_id": 50178510, "url": "https://news.ycombinator.com/item?id=50178510", "by": "chamomeal", "date": "2026-10-21", "stance": "recommend", "quote": "Slap a datastar script tag in there for everything else. It\u2019s just easy peasy.", "excerpt": "I don\u2019t disagree with you and I lurve frameworks. Yes, I love react. It is so awesome. But it is SO nice to not have any build step. All of my new projects start as a single babashka script now. You got html templating, throw in a stylesheet. Slap a datastar script tag in there for everything else. It\u2019s just easy peasy.", "context": "", "use_case": "frontend interactivity without build step", "switched_from": "", "story": "The Future of CSS"}, {"id": 780910672, "item_id": 48806917, "url": "https://news.ycombinator.com/item?id=48806917", "by": "swannodette", "date": "2026-07-06", "stance": "recommend", "quote": "At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL", "excerpt": "Honestly what's mostly at the forefront of my mind is greatly improving the documentation around ClojureScript as well as our fork of Google Closure Library (GCL). At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL - we no longer rely on anything from NPM, to call this a simplification would be a gross understatement. Bundle size is 30K gzipped and we spend no time thinki", "context": "works on ClojureScript at work", "use_case": "frontend without NPM", "switched_from": "", "story": "Clojure 1.13 adds support for checked keys"}]}, {"text": " and for handling highly interactive UIs where htmx hit its limits.", "cites": [{"id": 786129392, "item_id": 49133087, "url": "https://news.ycombinator.com/item?id=49133087", "by": "Aeolos", "date": "2026-08-01", "stance": "recommend", "quote": "So we tried datastar, and it basically addressed all the friction points we had", "excerpt": "Our UI is highly interactive: think 3d visualizations with toggle-able overlays, various display settings, searchable lists, drawing tools etc. We made a lot of progress with htmx, but eventually hit a complexity wall where we were spending more time fighting the tool than solving the business need. Note, I'm not blaming htmx here, the documentation is clear about its strengths and limitations, and the hypermedia app", "context": "team building highly interactive 3D visualization UI", "use_case": "highly interactive hypermedia UI", "switched_from": "htmx", "story": "Let's Make the Worst Htmx"}, {"id": 732911808, "item_id": 45806988, "url": "https://news.ycombinator.com/item?id=45806988", "by": "JSR_FDED", "date": "2025-11-03", "stance": "recommend", "quote": "I\u2019ve compared Datastar and HTMX and decided on Datastar.", "excerpt": "I think the ideas behind HTMX are cool, and Carson\u2019s advocacy around Hypermedia is great. I came from SPA-land and was tired of the fundamental architectural issue of having to keep the front-end and back-end state in sync. I\u2019ve compared Datastar and HTMX and decided on Datastar. There\u2019s overlap between the two libraries in that they both support the request/response model, but with Datastar my learning investment ta", "context": "came from SPA-land", "use_case": "hypermedia web apps", "switched_from": "", "story": "</> Htmx \u2013 The Fetch()ening"}]}, {"text": " Complaints are rare; one newcomer questions what it adds over vanilla JS.", "cites": [{"id": 786314096, "item_id": 49144631, "url": "https://news.ycombinator.com/item?id=49144631", "by": "bobajeff", "date": "2026-08-02", "stance": "compare", "quote": "I'm getting confused about what these light frameworks/libraries are doing that I need over vanilla js.", "excerpt": "I've found out about this and datastar * in the last 2 days. I'm getting confused about what these light frameworks/libraries are doing that I need over vanilla js. Also how do these compare to the last round of light frameworks like solid and svelte? I'm on board with reducing the need to port to and from different frameworks. I also agree that we should try to avoid depending on npm for everything. * https://github", "context": "", "use_case": "", "switched_from": "", "story": "Elena, a library for building Progressive Web Components"}]}], "praise": [{"label": "Server-driven SSE", "summary": "Commenters like keeping state on the server and pushing updates to the browser over SSE, which they say simplifies apps.", "quotes": [{"id": 803532944, "item_id": 50220809, "url": "https://news.ycombinator.com/item?id=50220809", "by": "TacticalCoder", "date": "2026-10-24", "stance": "recommend", "quote": "I now much prefer to have it all on the server-side and I simplified everything by using SSE / datastar", "excerpt": "> Have you ever had to restore the exact state of things in an app, when you're manipulating and changing certain behavior of it, in a specific moment and a specific combination of values? In my own Clojure projects I now even included that as part of the app. I literally have a header (I'm working on webapps, with Datastar btw) with buttons to pause/rewind/forward/fast-forward through my application's states (and I ", "context": "Clojure webapp developer", "use_case": "Clojure webapps", "switched_from": "re-frame", "story": "Jank \u2013 The native Clojure dialect with seamless C++ interop"}, {"id": 732911808, "item_id": 45806988, "url": "https://news.ycombinator.com/item?id=45806988", "by": "JSR_FDED", "date": "2025-11-03", "stance": "recommend", "quote": "I\u2019ve compared Datastar and HTMX and decided on Datastar.", "excerpt": "I think the ideas behind HTMX are cool, and Carson\u2019s advocacy around Hypermedia is great. I came from SPA-land and was tired of the fundamental architectural issue of having to keep the front-end and back-end state in sync. I\u2019ve compared Datastar and HTMX and decided on Datastar. There\u2019s overlap between the two libraries in that they both support the request/response model, but with Datastar my learning investment ta", "context": "came from SPA-land", "use_case": "hypermedia web apps", "switched_from": "", "story": "</> Htmx \u2013 The Fetch()ening"}, {"id": 780964576, "item_id": 48810286, "url": "https://news.ycombinator.com/item?id=48810286", "by": "TacticalCoder", "date": "2026-07-06", "stance": "recommend", "quote": "Full ack that calling it a \"simplification would be a gross understatement\".", "excerpt": "We switched to DataStar after seeing one of your vid about SSE. Full ack that calling it a \"simplification would be a gross understatement\". Namaste!", "context": "", "use_case": "frontend with SSE", "switched_from": "", "story": "Clojure 1.13 adds support for checked keys"}]}, {"label": "Beyond htmx", "summary": "Several call it htmx-like but more capable, with built-in DOM morphing that removes friction they hit with htmx.", "quotes": [{"id": 786129392, "item_id": 49133087, "url": "https://news.ycombinator.com/item?id=49133087", "by": "Aeolos", "date": "2026-08-01", "stance": "recommend", "quote": "So we tried datastar, and it basically addressed all the friction points we had", "excerpt": "Our UI is highly interactive: think 3d visualizations with toggle-able overlays, various display settings, searchable lists, drawing tools etc. We made a lot of progress with htmx, but eventually hit a complexity wall where we were spending more time fighting the tool than solving the business need. Note, I'm not blaming htmx here, the documentation is clear about its strengths and limitations, and the hypermedia app", "context": "team building highly interactive 3D visualization UI", "use_case": "highly interactive hypermedia UI", "switched_from": "htmx", "story": "Let's Make the Worst Htmx"}, {"id": 787265456, "item_id": 49204091, "url": "https://news.ycombinator.com/item?id=49204091", "by": "eliasdejong", "date": "2026-08-06", "stance": "recommend", "quote": "You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events.", "excerpt": "> FWIW I have a potential solution: to show live data in my app I use an SSE stream of OOB swaps. You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events. You don't have to do diffing yourself in application code because it's already handled by the framework under the hood through the \"idiomorph\" DOM morphing algorithm. [1] https://data-star.dev/", "context": "", "use_case": "live data with SSE", "switched_from": "", "story": "Building Progressively Enhanced Forms Using Htmx"}, {"id": 746610864, "item_id": 46663179, "url": "https://news.ycombinator.com/item?id=46663179", "by": "nchmy", "date": "2026-01-17", "stance": "recommend", "quote": "Folks really ought to check out Datastar. It's a newish js framework that is extremely innovative", "excerpt": "I know this article is largely about too many js frameworks and also a call to making better tooling for low-level programming. But it is also largely about the fact that most people making those js frameworks are not low-level programmers. Folks really ought to check out Datastar. It's a newish js framework that is extremely innovative despite leaning as much as possible on browser apis. It's htmx + alpine + much mo", "context": "", "use_case": "JS web framework", "switched_from": "", "story": "High-Level Is the Goal"}]}, {"label": "Backend agnostic", "summary": "Users pair it with Clojure, Go and Templ, Common Lisp and Lua backends.", "quotes": [{"id": 795098081, "item_id": 49693630, "url": "https://news.ycombinator.com/item?id=49693630", "by": "romshark", "date": "2026-09-14", "stance": "recommend", "quote": "Datastar + Templ + Go is a highly effective combination.", "excerpt": "A Datastar metaframework for Go: https://github.com/romshark/datapages it's a CLI toolchain with a code generator and linter. I invested time into this because: 1. Go is a much less wasteful SSR solution than JavaScript. 2. Datastar + Templ + Go is a highly effective combination. 3. I wanted a set of tools that not only helps getting started with a project fast, but also allows me to make it easier to maintain, espec", "context": "", "use_case": "server-side rendered web apps", "switched_from": "", "story": "Ask HN: What are you working on? (September 2026)"}, {"id": 771213473, "item_id": 48200842, "url": "https://news.ycombinator.com/item?id=48200842", "by": "vindarel", "date": "2026-05-19", "stance": "recommend", "quote": "HTMX or Datastar are great fit for Lisp", "excerpt": "I like History but I'll comment about Lisp in web apps today, if I may. We have a choice of web servers and web libraries (https://github.com/CodyReichert/awesome-cl/#web-development), and we live in happy times where HTMX or Datastar are great fit for Lisp -as with any stack. See these Datastar examples built in CL: https://github.com/fsmunoz/datastar-cl I use and like the Mito ORM too, which comes with automatic mi", "context": "", "use_case": "web apps in Lisp", "switched_from": "", "story": "Lisp in Web-Based Applications (2001)"}, {"id": 803532944, "item_id": 50220809, "url": "https://news.ycombinator.com/item?id=50220809", "by": "TacticalCoder", "date": "2026-10-24", "stance": "recommend", "quote": "I now much prefer to have it all on the server-side and I simplified everything by using SSE / datastar", "excerpt": "> Have you ever had to restore the exact state of things in an app, when you're manipulating and changing certain behavior of it, in a specific moment and a specific combination of values? In my own Clojure projects I now even included that as part of the app. I literally have a header (I'm working on webapps, with Datastar btw) with buttons to pause/rewind/forward/fast-forward through my application's states (and I ", "context": "Clojure webapp developer", "use_case": "Clojure webapps", "switched_from": "re-frame", "story": "Jank \u2013 The native Clojure dialect with seamless C++ interop"}]}, {"label": "No build step", "summary": "A single script include replaces NPM dependencies and JS build tooling.", "quotes": [{"id": 802856162, "item_id": 50178510, "url": "https://news.ycombinator.com/item?id=50178510", "by": "chamomeal", "date": "2026-10-21", "stance": "recommend", "quote": "Slap a datastar script tag in there for everything else. It\u2019s just easy peasy.", "excerpt": "I don\u2019t disagree with you and I lurve frameworks. Yes, I love react. It is so awesome. But it is SO nice to not have any build step. All of my new projects start as a single babashka script now. You got html templating, throw in a stylesheet. Slap a datastar script tag in there for everything else. It\u2019s just easy peasy.", "context": "", "use_case": "frontend interactivity without build step", "switched_from": "", "story": "The Future of CSS"}, {"id": 780910672, "item_id": 48806917, "url": "https://news.ycombinator.com/item?id=48806917", "by": "swannodette", "date": "2026-07-06", "stance": "recommend", "quote": "At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL", "excerpt": "Honestly what's mostly at the forefront of my mind is greatly improving the documentation around ClojureScript as well as our fork of Google Closure Library (GCL). At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL - we no longer rely on anything from NPM, to call this a simplification would be a gross understatement. Bundle size is 30K gzipped and we spend no time thinki", "context": "works on ClojureScript at work", "use_case": "frontend without NPM", "switched_from": "", "story": "Clojure 1.13 adds support for checked keys"}, {"id": 746610864, "item_id": 46663179, "url": "https://news.ycombinator.com/item?id=46663179", "by": "nchmy", "date": "2026-01-17", "stance": "recommend", "quote": "Folks really ought to check out Datastar. It's a newish js framework that is extremely innovative", "excerpt": "I know this article is largely about too many js frameworks and also a call to making better tooling for low-level programming. But it is also largely about the fact that most people making those js frameworks are not low-level programmers. Folks really ought to check out Datastar. It's a newish js framework that is extremely innovative despite leaning as much as possible on browser apis. It's htmx + alpine + much mo", "context": "", "use_case": "JS web framework", "switched_from": "", "story": "High-Level Is the Goal"}]}, {"label": "Small, fast pages", "summary": "Users report tiny bundles and much faster loads, including a 20KB first page load after moving off React.", "quotes": [{"id": 786107585, "item_id": 49131724, "url": "https://news.ycombinator.com/item?id=49131724", "by": "Aeolos", "date": "2026-07-31", "stance": "recommend", "quote": "We recently rewrote a half-million LOC codebase from react to datastar", "excerpt": "I highly recommend everyone to give htmx or datastar a try, especially if your main experience is react or nextjs. We recently rewrote a half-million LOC codebase from react to datastar, with a detour through htmx first, and the results are staggering. First page load is 20KB down from a 750KB js bundle. 1 network request vs 40+. Total load time 0.1 seconds down from 2 seconds of spinners. Page refresh is so fast, th", "context": "rewrote half-million LOC codebase for medical device", "use_case": "web frontend with SSE", "switched_from": "React", "story": "Let's Make the Worst Htmx"}, {"id": 780910672, "item_id": 48806917, "url": "https://news.ycombinator.com/item?id=48806917", "by": "swannodette", "date": "2026-07-06", "stance": "recommend", "quote": "At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL", "excerpt": "Honestly what's mostly at the forefront of my mind is greatly improving the documentation around ClojureScript as well as our fork of Google Closure Library (GCL). At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL - we no longer rely on anything from NPM, to call this a simplification would be a gross understatement. Bundle size is 30K gzipped and we spend no time thinki", "context": "works on ClojureScript at work", "use_case": "frontend without NPM", "switched_from": "", "story": "Clojure 1.13 adds support for checked keys"}]}], "caveats": [{"label": "Unclear value", "summary": "One newcomer is unsure what it offers over vanilla JS or how it compares to Solid and Svelte.", "quotes": [{"id": 786314096, "item_id": 49144631, "url": "https://news.ycombinator.com/item?id=49144631", "by": "bobajeff", "date": "2026-08-02", "stance": "compare", "quote": "I'm getting confused about what these light frameworks/libraries are doing that I need over vanilla js.", "excerpt": "I've found out about this and datastar * in the last 2 days. I'm getting confused about what these light frameworks/libraries are doing that I need over vanilla js. Also how do these compare to the last round of light frameworks like solid and svelte? I'm on board with reducing the need to port to and from different frameworks. I also agree that we should try to avoid depending on npm for everything. * https://github", "context": "", "use_case": "", "switched_from": "", "story": "Elena, a library for building Progressive Web Components"}]}], "who": [{"by": "TacticalCoder", "context": "Clojure webapp developer", "url": "https://news.ycombinator.com/item?id=50220809", "date": "2026-10-24"}, {"by": "Aeolos", "context": "team building highly interactive 3D visualization UI", "url": "https://news.ycombinator.com/item?id=49133087", "date": "2026-08-01"}, {"by": "swannodette", "context": "works on ClojureScript at work", "url": "https://news.ycombinator.com/item?id=48806917", "date": "2026-07-06"}, {"by": "JSR_FDED", "context": "came from SPA-land", "url": "https://news.ycombinator.com/item?id=45806988", "date": "2025-11-03"}], "tags": ["htmx alternative", "for Clojure developers", "for Go developers", "for Lisp developers", "for moving off React"], "use_cases": ["clojure webapps", "frontend interactivity without build step", "hypermedia frontend with sse", "hypermedia web development", "server-side rendered web apps", "web development"], "compared": [{"slug": "htmx", "name": "HTMX", "co": 11, "switched_from": 1, "switched_to": 0}, {"slug": "react", "name": "React", "co": 3, "switched_from": 1, "switched_to": 0}, {"slug": "alpine-js", "name": "Alpine.js", "co": 5, "switched_from": 0, "switched_to": 0}, {"slug": "svelte", "name": "Svelte", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=49119270", "title": "Let's Make the Worst Htmx", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=48767211", "title": "Clojure 1.13 adds support for checked keys", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50202762", "title": "Jank \u2013 The native Clojure dialect with seamless C++ interop", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50175070", "title": "The Future of CSS", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50058528", "title": "A Modern Web App in C", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50008427", "title": "Whistle: Speech to Text in 16.9 MB", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {}, "2026-01": {"recommend": 2}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {"recommend": 2}, "2026-06": {}, "2026-07": {"recommend": 3}, "2026-08": {"recommend": 2, "compare": 1, "neutral": 1}, "2026-09": {"recommend": 1}, "2026-10": {"recommend": 4}}, "quotes": [{"id": 803532944, "item_id": 50220809, "url": "https://news.ycombinator.com/item?id=50220809", "by": "TacticalCoder", "date": "2026-10-24", "stance": "recommend", "quote": "I now much prefer to have it all on the server-side and I simplified everything by using SSE / datastar", "excerpt": "> Have you ever had to restore the exact state of things in an app, when you're manipulating and changing certain behavior of it, in a specific moment and a specific combination of values? In my own Clojure projects I now even included that as part of the app. I literally have a header (I'm working on webapps, with Datastar btw) with buttons to pause/rewind/forward/fast-forward through my application's states (and I ", "context": "Clojure webapp developer", "use_case": "Clojure webapps", "switched_from": "re-frame", "story": "Jank \u2013 The native Clojure dialect with seamless C++ interop"}, {"id": 802856162, "item_id": 50178510, "url": "https://news.ycombinator.com/item?id=50178510", "by": "chamomeal", "date": "2026-10-21", "stance": "recommend", "quote": "Slap a datastar script tag in there for everything else. It\u2019s just easy peasy.", "excerpt": "I don\u2019t disagree with you and I lurve frameworks. Yes, I love react. It is so awesome. But it is SO nice to not have any build step. All of my new projects start as a single babashka script now. You got html templating, throw in a stylesheet. Slap a datastar script tag in there for everything else. It\u2019s just easy peasy.", "context": "", "use_case": "frontend interactivity without build step", "switched_from": "", "story": "The Future of CSS"}, {"id": 801076881, "item_id": 50067305, "url": "https://news.ycombinator.com/item?id=50067305", "by": "JSR_FDED", "date": "2026-10-13", "stance": "recommend", "quote": "Combining it with Datastar could be brilliant", "excerpt": "Fantastic, thanks. I love Lua and especially the mindset that goes along with it. Will definitely check this out. Combining it with Datastar could be brilliant - I wonder if TurboLua supports SSE streaming.", "context": "", "use_case": "hypermedia frontend with SSE", "switched_from": "", "story": "A Modern Web App in C"}, {"id": 800234241, "item_id": 50014640, "url": "https://news.ycombinator.com/item?id=50014640", "by": "Multicomp", "date": "2026-10-09", "stance": "recommend", "quote": "I follow hypermedia.systems and htmx/datastar/alpine.js because I'm still trying to get back that powerful _web_ tech advancement", "excerpt": "WSDL - now that's a name I've not heard in a very long time! XML Web Services were awesome, but the SOAP and XML (where the hard parts that should have been given some batteries included defaults) I think was too much of a boat anchor to overcome. And then the ruby/rails wave came and made 'rest' JSON the Silicon Valley hearthrob, and WSDLs were out like yesterdays trash. Are they still used in businesses IRL? Yes! I", "context": "", "use_case": "hypermedia web development", "switched_from": "", "story": "Whistle: Speech to Text in 16.9 MB"}, {"id": 795098081, "item_id": 49693630, "url": "https://news.ycombinator.com/item?id=49693630", "by": "romshark", "date": "2026-09-14", "stance": "recommend", "quote": "Datastar + Templ + Go is a highly effective combination.", "excerpt": "A Datastar metaframework for Go: https://github.com/romshark/datapages it's a CLI toolchain with a code generator and linter. I invested time into this because: 1. Go is a much less wasteful SSR solution than JavaScript. 2. Datastar + Templ + Go is a highly effective combination. 3. I wanted a set of tools that not only helps getting started with a project fast, but also allows me to make it easier to maintain, espec", "context": "", "use_case": "server-side rendered web apps", "switched_from": "", "story": "Ask HN: What are you working on? (September 2026)"}, {"id": 790433728, "item_id": 49402108, "url": "https://news.ycombinator.com/item?id=49402108", "by": "bobowski", "date": "2026-08-22", "stance": "neutral", "quote": "I use datastar daily", "excerpt": "I use datastar daily so yes there\u2019s a lot of this contexts in my reasoning and conversations. It\u2019s also a project that kind of focuses on how they do things and how they work internally. Maybe I should try to approach docs in non-htmx / Datastar user context - will think about it", "context": "", "use_case": "web development", "switched_from": "", "story": "Htmx live is cool. Datastar is fast. This cow is raw and strong"}, {"id": 787265456, "item_id": 49204091, "url": "https://news.ycombinator.com/item?id=49204091", "by": "eliasdejong", "date": "2026-08-06", "stance": "recommend", "quote": "You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events.", "excerpt": "> FWIW I have a potential solution: to show live data in my app I use an SSE stream of OOB swaps. You might be interested in Datastar [1], which is like htmx but centered around Server-Sent Events. You don't have to do diffing yourself in application code because it's already handled by the framework under the hood through the \"idiomorph\" DOM morphing algorithm. [1] https://data-star.dev/", "context": "", "use_case": "live data with SSE", "switched_from": "", "story": "Building Progressively Enhanced Forms Using Htmx"}, {"id": 786314096, "item_id": 49144631, "url": "https://news.ycombinator.com/item?id=49144631", "by": "bobajeff", "date": "2026-08-02", "stance": "compare", "quote": "I'm getting confused about what these light frameworks/libraries are doing that I need over vanilla js.", "excerpt": "I've found out about this and datastar * in the last 2 days. I'm getting confused about what these light frameworks/libraries are doing that I need over vanilla js. Also how do these compare to the last round of light frameworks like solid and svelte? I'm on board with reducing the need to port to and from different frameworks. I also agree that we should try to avoid depending on npm for everything. * https://github", "context": "", "use_case": "", "switched_from": "", "story": "Elena, a library for building Progressive Web Components"}, {"id": 786129392, "item_id": 49133087, "url": "https://news.ycombinator.com/item?id=49133087", "by": "Aeolos", "date": "2026-08-01", "stance": "recommend", "quote": "So we tried datastar, and it basically addressed all the friction points we had", "excerpt": "Our UI is highly interactive: think 3d visualizations with toggle-able overlays, various display settings, searchable lists, drawing tools etc. We made a lot of progress with htmx, but eventually hit a complexity wall where we were spending more time fighting the tool than solving the business need. Note, I'm not blaming htmx here, the documentation is clear about its strengths and limitations, and the hypermedia app", "context": "team building highly interactive 3D visualization UI", "use_case": "highly interactive hypermedia UI", "switched_from": "htmx", "story": "Let's Make the Worst Htmx"}, {"id": 786107585, "item_id": 49131724, "url": "https://news.ycombinator.com/item?id=49131724", "by": "Aeolos", "date": "2026-07-31", "stance": "recommend", "quote": "We recently rewrote a half-million LOC codebase from react to datastar", "excerpt": "I highly recommend everyone to give htmx or datastar a try, especially if your main experience is react or nextjs. We recently rewrote a half-million LOC codebase from react to datastar, with a detour through htmx first, and the results are staggering. First page load is 20KB down from a 750KB js bundle. 1 network request vs 40+. Total load time 0.1 seconds down from 2 seconds of spinners. Page refresh is so fast, th", "context": "rewrote half-million LOC codebase for medical device", "use_case": "web frontend with SSE", "switched_from": "React", "story": "Let's Make the Worst Htmx"}, {"id": 780964576, "item_id": 48810286, "url": "https://news.ycombinator.com/item?id=48810286", "by": "TacticalCoder", "date": "2026-07-06", "stance": "recommend", "quote": "Full ack that calling it a \"simplification would be a gross understatement\".", "excerpt": "We switched to DataStar after seeing one of your vid about SSE. Full ack that calling it a \"simplification would be a gross understatement\". Namaste!", "context": "", "use_case": "frontend with SSE", "switched_from": "", "story": "Clojure 1.13 adds support for checked keys"}, {"id": 780910672, "item_id": 48806917, "url": "https://news.ycombinator.com/item?id=48806917", "by": "swannodette", "date": "2026-07-06", "stance": "recommend", "quote": "At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL", "excerpt": "Honestly what's mostly at the forefront of my mind is greatly improving the documentation around ClojureScript as well as our fork of Google Closure Library (GCL). At work we've switched to DataStar (a single JS include) and coupled that with ClojureScript/GCL - we no longer rely on anything from NPM, to call this a simplification would be a gross understatement. Bundle size is 30K gzipped and we spend no time thinki", "context": "works on ClojureScript at work", "use_case": "frontend without NPM", "switched_from": "", "story": "Clojure 1.13 adds support for checked keys"}, {"id": 771213473, "item_id": 48200842, "url": "https://news.ycombinator.com/item?id=48200842", "by": "vindarel", "date": "2026-05-19", "stance": "recommend", "quote": "HTMX or Datastar are great fit for Lisp", "excerpt": "I like History but I'll comment about Lisp in web apps today, if I may. We have a choice of web servers and web libraries (https://github.com/CodyReichert/awesome-cl/#web-development), and we live in happy times where HTMX or Datastar are great fit for Lisp -as with any stack. See these Datastar examples built in CL: https://github.com/fsmunoz/datastar-cl I use and like the Mito ORM too, which comes with automatic mi", "context": "", "use_case": "web apps in Lisp", "switched_from": "", "story": "Lisp in Web-Based Applications (2001)"}, {"id": 768476080, "item_id": 48029755, "url": "https://news.ycombinator.com/item?id=48029755", "by": "ilarum1", "date": "2026-05-05", "stance": "recommend", "quote": "I encourage you to also to take a look at this https://data-star.dev/", "excerpt": "I am also big fan of this, but I encourage you to also to take a look at this https://data-star.dev/", "context": "", "use_case": "", "switched_from": "", "story": "Introducing Svelte (2016)"}, {"id": 748123634, "item_id": 46757727, "url": "https://news.ycombinator.com/item?id=46757727", "by": "tolerance", "date": "2026-01-25", "stance": "recommend", "quote": "Similar to another web project that I\u2019m fond of, Datastar.", "excerpt": "I understand I\u2019m behind in terminology in this space and figured that there at least would\u2019ve been a post to make its way through HN that would explain what the \u201cAtmosphere\u201d is. Apparently this submission was supposed to be that (5 days ago) but it doesn\u2019t define the concept. > The \"Atmosphere\" is the term we use to describe the ecosystem around the AT Protocol. \u2014 <https://atproto.com/guides/glossary#atmosphere> (Why", "context": "", "use_case": "", "switched_from": "", "story": "Publishing on the ATmosphere"}, {"id": 746610864, "item_id": 46663179, "url": "https://news.ycombinator.com/item?id=46663179", "by": "nchmy", "date": "2026-01-17", "stance": "recommend", "quote": "Folks really ought to check out Datastar. It's a newish js framework that is extremely innovative", "excerpt": "I know this article is largely about too many js frameworks and also a call to making better tooling for low-level programming. But it is also largely about the fact that most people making those js frameworks are not low-level programmers. Folks really ought to check out Datastar. It's a newish js framework that is extremely innovative despite leaning as much as possible on browser apis. It's htmx + alpine + much mo", "context": "", "use_case": "JS web framework", "switched_from": "", "story": "High-Level Is the Goal"}, {"id": 732911808, "item_id": 45806988, "url": "https://news.ycombinator.com/item?id=45806988", "by": "JSR_FDED", "date": "2025-11-03", "stance": "recommend", "quote": "I\u2019ve compared Datastar and HTMX and decided on Datastar.", "excerpt": "I think the ideas behind HTMX are cool, and Carson\u2019s advocacy around Hypermedia is great. I came from SPA-land and was tired of the fundamental architectural issue of having to keep the front-end and back-end state in sync. I\u2019ve compared Datastar and HTMX and decided on Datastar. There\u2019s overlap between the two libraries in that they both support the request/response model, but with Datastar my learning investment ta", "context": "came from SPA-land", "use_case": "hypermedia web apps", "switched_from": "", "story": "</> Htmx \u2013 The Fetch()ening"}]}