A “follow” button usually needs two updates: the button label/state and the follower count. Turbo Streams make this trivial because one server response can carry multiple DOM operations. I render both UI pieces as partials with stable targets (dom_id(member, :follow_button) and dom_id(member, :followers_count)), then return a stream that replaces both. This keeps server state authoritative and avoids frontend race conditions (“button says Following but count didn’t change”). It also scales to other interactions like bookmarking and voting. I keep the controller logic simple: toggle the relationship, then render the turbo stream template. For HTML fallback, redirect back with a flash.