Week 50/51 - Happy Holidays
Discover the latest Hotwire insights, tutorials, and releases in this week edition of Hotwire Weekly!

Welcome to Hotwire Weekly!
Welcome to a double-week, holiday special edition of Hotwire Weekly! Thanks for reading, and Merry Christmas! 🎄🚀
📚 Articles, Tutorials, and Videos
Articles
Tricks to work around nested <form> elements, for Rails - Ben Sheldon shares practical tricks for handling tricky nested <form> markup in Rails, such as wrapping inputs to avoid invalid HTML, using Turbo Frames for partial form updates, and ensuring accessible label/input associations without breaking Stimulus behavior.
AnyCable, Rails, and the pitfalls of LLM-streaming - Vladimir Dementyev on the Evil Martians blog explores why streaming large-language model (LLM) responses in Rails apps isn’t as simple as broadcasting chunks over Action Cable: you can quickly run into unpredictability and client-side UI issues when naive streams fire. He shows how swapping to AnyCable can help restore "sanity" with more robust real-time infrastructure.
Create a Markdown Editor in Ruby on Rails - Hans Schnedlitz on the AppSignal blog walks through building a rich Markdown editor in Rails using Stimulus, Turbo, and a JavaScript editor library, handling live previews, autosave, and syncing with the server, all while keeping Rails’ HTML-over-the-wire philosophy at the core of the UX.
Beautiful Rails confirmation dialogs (with zero JavaScript) - Stephen Margheim shows on the Boring Rails blog how to replace the native window.confirm with a custom, visually pleasing confirmation dialog using data-turbo-confirm, Stimulus, and modal markup.
Dialog Animation Gotchas - Stephen Margheim highlights common pitfalls when animating <dialog> elements and offers practical CSS/JS workarounds to make animated modals feel smooth and natural across browsers.
Stylish <dialog>s - On a related topic, Stephen Margheim shows how to build modern, accessible dialog components using the native HTML <dialog> element plus CSS for backdrop, animations, and responsive layouts.
Videos
Drifting Ruby: Fizzy JS Patterns - David Kimura published a new Drifting Ruby episode in which he covers practical JavaScript patterns in Fizzy.
GoRails: Realtime Domain Updates with Turbo Refreshes & Morph - Chris Oliver published a new episode on GoRails in the "Domain Monitor SaaS Product" series in which he shows real-time updates using Turbo.
Refactoring Real-World CSS with Roux - Elaina Natario and Matheus Richard published an video on the thoughtbot YouTube channel in which they refactor real-world CSS using their newish Roux CSS library.
Course: Rails Hotwire + Tailwind CSS - Rapid Ruby published 13 new videos in the "Twitter clone in Rails" series on YouTube.
Stimulus
Add snow to your app with Stimulus - Rails Designer shows how to add a fun, reusable "snow effect" to your Rails app using a lightweight Stimulus controller.
Building an Audio Player with Stimulus - Exequiel Rozas on the Avo blog walks through creating a custom audio player in Rails using Stimulus, including play/pause controls, progress tracking, seek functionality, and volume handling.
Hotwire Native
Livestream Recap: Building a Hotwire Native iOS app for Fizzy - Joe Masilotti shares the recorded replay and key takeaways from his stream about Fizzy, in which he started working on a Hotwire Native iOS app for Fizzy.
Hotwire Native deep dive: Native Polish - Joe Masilotti shares practical tweaks that make Rails-powered Hotwire Native apps feel more polished on iOS and Android.
Web Platform
CSS Wrapped 2025 - Google Chrome highlights key modern CSS features shipping this year, like container queries, scope/at-container selectors, CSS @function, the CSS Highlights API, and new layout tools that make responsive, component-level design far more powerful.
State of HTML 2025 - The annual State of HTML survey highlights what’s trending in web platform features, browser support, and developer adoption in 2025, including big gains in native capabilities like container queries, CSS @function, Web Components, Web Animations, CSS Highlights/Custom Highlight API, and broader support for modern layout tools. It’s a great pulse check on where HTML/CSS is heading and what’s safe to build on today.
In Praise of HTML and CSS - Mike McCourt explores how the core web platform has matured: with modern CSS features developers can build rich, responsive UIs without preprocessors or heavy frameworks.
Why the Sanitizer API is just setHTML() - Frederik Braun explains why using element.innerHTML = ... (or similar setHTML methods) is risky: it bypasses browser parsing optimizations, breaks security guarantees (CSP), disables built-in sanitization, and undermines future platform improvements.
WebKit Features for Safari 26.2 - The WebKit Team shares the latest features that are part of Safari 26.2, which is a really big release and exciting update, now shipping with a lot of new APIs.
🧰 Libraries and Tools
hotwire_club-mcp - Hotwire Club knowledge base in a searchable MCP database. Read more here.
Maquina - UI components for Ruby on Rails, built with ERB, TailwindCSS 4.0, and Stimulus.
action_version_preview - Preview multiple versions of your UI simultaneously using Rails' built-in view variants. Read more here.
🎉 Releases
anycable v1.6.2 - Ruby SDK for AnyCable.
anycable-rails v1.6.1 - AnyCable integration for Rails.
tailwindcss-ruby v4.1.18 - A self-contained tailwindcss executable, wrapped up in a ruby gem.
lexxy v0.1.24-beta - A modern rich text editor for Rails.
herb v0.8.5 - Powerful and seamless HTML-aware ERB parsing and tooling.
relative-time-element v5.0.0 - Web component extensions to the standard <time> element.
@rails/request.js v0.0.13 - A tiny Fetch API wrapper that allows you to make http requests without need to handle to send the CSRF Token on every request.
requestjs-rails v0.0.14 - Request.js for Rails.
inertia-rails v3.15.0 - Interia.js for Rails.
Feel free to follow us on Twitter/X, Bluesky, Linkedin, or on Mastodon!
See you next week!