netstack.fm

socketioxide with Théodore Prévot

Feb 24, 2026
Théodore Prévot, creator of socketioxide and Rust systems engineer, built a Socket.IO server in Rust while working on a synced writing app. He walks through Engine.IO vs Socket.IO, rooms, namespaces, reconnection and scaling with adapters. He also tackles a tricky lazy Serde JSON deserializer for mixed JSON and binary payloads and discusses runtime and testing trade-offs.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ANECDOTE

Rewriting A Writer App Sparked Socketioxide

  • Théodore started socketioxide to migrate a collaborative writer app backend to Rust and learned Rust by rewriting the server.
  • He didn't finish the app but the Socket.IO server project grew, attracted contributors, and became widely reused.
ADVICE

Learn Rust By Studying Tokio Axum And Hyper

  • Learn by reading production Rust codebases; Théodore read Tokio, Axum and Hyper to learn idiomatic patterns and to guide his refactors.
  • Use Rust's type system to refactor confidently and discover better architectures over time.
INSIGHT

Engine.IO Is A Transport Abstraction With History

  • Engine.IO is a thin abstraction over transports that primarily exists to support long polling and provide a socket abstraction.
  • Socket.IO evolved from a polyfill for browsers into a high-level runtime with rooms, namespaces, recovery, and scaling features.
Get the Snipd Podcast app to discover more snips from this episode
Get the app