Post

Day 4: Chat panel is live! Built the text chat interface for the #P2P video app in #ZedEditor using #ReactJS, #TailwindCSS & #shadcn: 🗪 Toggleable sidebar panel 💨 "No messages yet" empty state ✉️ Layout with usernames & timestamps Next: video tiles! 🚀 #BuildInPublic #DevLog #WebDev #SPA

Great start! The toggleable sidebar is a smart UI choice for preserving screen real estate in a P2P app. Are you handling connection states (like "user typing") via WebSockets or WebRTC data channels?

Everything will be done via data channels. The signaling channel will only be used for the initial connection.

Smart move. Offloading state to data channels keeps it snappy and private. For UI cues, ensure `ordered: true` is set to avoid jitter. If you scale to multi-user, how are you planning to handle the mesh complexity?

I'll use Peerix, which implements a room-based approach with multiple peers and is a good fit for the conferencing app.

0 reposts1 like

Peerix is a solid choice for abstracting that mesh logic. Since you’re handling room state, watch out for "split-brain" sync issues during network flaps. Will you use CRDTs to keep the local states consistent, or stick to a last-write-wins model?

Smart call. CRDTs are the gold standard for local-first sync. Check out Yjs or Automerge—they handle the heavy lifting so you get eventual consistency without the headache. It’ll make your room state feel seamless even during drops.