Skip to content

#002 — React 19.2: <Activity /> + AI Language Teacher

Stream #002

Date: May 22, 2026
Format: Technical deep-dive + Guest · ~40 min
Guest: Oleksandr Blazheiko
YouTube: youtube.com/live/R5IXxa1e8K4


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. Real conversations are automatically turned into lessons: vocabulary, grammar notes, homework. Stack: Vue 3, Node.js, TypeScript, WebSocket, Redis, LLM/STT/TTS.


Key Takeaways

Block 1 — React 19.2: <Activity />

  • React Conf 2025 announced the new <Activity /> component for preserving state when hiding UI
  • Problem: display:none hides the element but destroys state; unmount also loses state
  • <Activity mode="hidden"> preserves state and the DOM tree — similar to content-visibility: hidden but at the React level
  • Effects lifecycle differs: transitioning to hidden runs cleanup, returning runs setup again
  • Pre-rendering: hidden content can be rendered ahead of time for faster reveal
  • Gotchas: not suitable for security-sensitive hiding (DOM still exists), increases memory footprint

Block 2 — itvibe.party (Oleksandr Blazheiko)

  • itvibe.party — a platform combining chat, a real-time AI translator, and a personal AI teacher "Maestro"
  • Core flow: two people speak different languages → STT → LLM translation → TTS → automatic lesson with new vocabulary and grammar notes
  • Stack: Vue 3, Node.js, TypeScript monorepo (pnpm), uWebSockets.js, Redis, Drizzle ORM
  • AI integrations: OpenAI, xAI, Mistral — isolated in a backend service layer, keys never reach the client
  • Backend architecture: controller → service → repository → transformer

Timecodes

To be added after VOD review.

Resources

IT Friday · @zloyleva