Premise
This week’s challenge is part Stimulus exercise, part exploration of a more exotic, but actually quite established browser API - the Broadcast Channel API. It’s an excellent choice for sending low-importance notifications from one browser tab or window to another without having to resort to Websockets. We’ll look at updating some input elements and sending a toast message from one tab to the other.
Here’s a sneak peek:

Challenge
Today’s example is a family chore manager: Chores can be assigned to a family member, and set to done. For your convenience, the markup is already laid here:
Conceive a Stimulus controller to notify other browser tabs of changes:
- Show a toast when an assignment changes or a task is marked
done - Change the button’s state in the other browser tab if marked done in this one
Hints:
- Use one
BroadcastChannelfor assignments and one for marking tasksdone - Use the
<template>provided in the HTML to clone and insert a toast. Look at the shoelace guide.
Caveats
Note that this API is strictly for inter-tab/-window communication on the same machine.
Teaser
How could the managing of done be made more declarative?

