Skip to content

#003 — uWebSockets.js + React Conf 2025: useEffectEvent

Stream #003

Date: May 29, 2026 | 19:00 London / 21:00 Kyiv
Format: Two talks · ~70 min
Guest: Oleksandr Blazheiko
YouTube: https://youtube.com/live/7wR_NxpsSFw

Participants

Oleh Levchenko — Senior Full Stack JavaScript Developer (React / Node.js / AWS)
The AA · Cardiff, UK
YouTube @zloyleva · itfriday.community

Oleksandr Blazheiko — Software Development Engineer · Fullstack, 7+ years of experience
Ukraine
LinkedIn · itvibe.party

Building itvibe.party — a platform combining chat, a real-time AI translator, and a personal AI teacher. First appeared on stream #002.

Key Takeaways

Talk 1 — uWebSockets.js · Oleksandr Blazheiko

  • Fastest HTTP & WebSocket server for Node.js: ×8-10 vs Express, ×6-8 vs Bun.serve, ×3-5 vs Fastify
  • Built on the C++ µWebSockets library — the same one powering Bun.js under the hood
  • ~15 MB RAM footprint under full load
  • cork() API: one syscall instead of five — significant advantage under load
  • res.cork(() => { res.writeStatus(); res.writeHeader(); res.end(); }) — minimal batching example
  • Docker: deployment specifics and gotchas
  • Pros: microsecond latency, built-in Pub/Sub, small memory footprint
  • Cons: low-level API, not a drop-in replacement for Express, careful with graceful shutdown

Talk 2 — useEffectEvent · Oleh Levchenko

  • New React hook for separating reactive and non-reactive logic inside useEffect
  • Problem: Effect depends on roomId and theme, but theme shouldn't trigger a re-run
  • Add theme to deps → unnecessary reconnects; remove it → stale closure; both paths have a cost
  • useEffectEvent isolates non-reactive code — always reads the latest value without re-running the Effect
  • Rule: useEffectEvent can only be called from inside an Effect; don't pass it as a prop or hook argument

Timecodes

To be added after the stream.

Resources

IT Friday · @zloyleva