~/talk

Building a Real-Time Multiplayer Reactions Component

Talkat SeattleJS Conf 2023 · on Tuesday, 2023-08-08· [web-animation, frontend-architecture]
slides:none on file

Builds a React component that broadcasts a four-emoji set over Liveblocks websockets using useBroadcastEvent and useEventListener, rendering local and remote reactions separately and cleaning out items older than 2s lifetime via a timestamped setInterval. Adds accessibility with an ARIA live region that announces summarized counts instead of spamming screen readers, CSS keyframe motion (2s animation), randomized timing and angle for organic feel, Tailwind for styles, and demonstrates the system scaling to multiple clients in real time.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05Multiplayer reactions demo
  3. 2:52Accessible React component
  4. 4:39Local state and emoji display
  5. 7:12Auto-removal of emojis
  6. 9:21Floating animation setup
  7. 12:06Adding organic randomness
  8. 13:55Multiplayer integration
  9. 17:03Receiving remote reactions
  10. 20:32Live demo with multiple clients
  11. 20:53Real-world use case and inspiration
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.