Back to articles
From Turbo Streams to Turbo Morph: Simplifying Real-Time Rails

From Turbo Streams to Turbo Morph: Simplifying Real-Time Rails

via Dev.toJuan Vasquez

The Setup I'm building a multitenant order management system for cafes and restaurants. Orders come in, the kitchen sees a live queue, waiters track item status — all updating in real time across multiple screens. The natural first choice in Rails? Turbo Streams — targeted DOM updates over WebSocket. Replace this partial, append to that list, remove that element. It worked. Until it didn't. I Almost Kept Targeted Broadcasts On March 13, I made a deliberate decision to keep targeted Turbo Stream broadcasts. The infrastructure worked, the tests passed, and I'd already invested time building it. I documented the decision and moved on. Six days later, I reversed it. What changed? I started building the kitchen queue — a live view where cooks see incoming orders. The queue needed to stay in sync with the order page, the tables view, and the takeout view. Every item status change had to update all four screens simultaneously. That's when the targeted approach fell apart. Not because of a sin

Continue reading on Dev.to

Opens in a new tab

Read Full Article
2 views

Related Articles