Ethan Thornberg
Currently interning on Roblox’s engine networking team, on the transport layer that keeps live game sessions alive through network changes.
Roblox
A network change used to be fatal mid game. Wifi drops to cellular, every in-flight request dies with the old interface, and the only fix was restarting the app. I built Connectivity, the signal that fixes that: per-platform monitors feed one core manager that filters noise with debouncing, deduplication, and generation counters.
HTTP reconnects cleanly. QUIC migrates in place with no re-handshake. Roblox’s own UDP game transport re-authenticates a player on their new network path using a token issued ahead of time, so the game session just continues.
Scoped for two consumers. Adopted by five more on their own. It’s rolling out now across mobile, Windows, and macOS, and it’s being presented at RDC 2026 this September.
First American Financial
Twelve months, not a summer. I built internal tooling for the DMS2 Admin Workspace on React and TypeScript over C# and .NET, then ran a Copilot rollout for a hundred engineers that nobody assigned me. Asked back for a second summer.
Full case study →On my own time
180 days teaching myself systems programming in C, unrelated to any job, one project deep enough to force the next.
Real-Time Networked Systems
Networking fundamentals to a chat server to a tick-based multiplayer movement server: authoritative at 60Hz, client-side prediction, server reconciliation, and a latency simulator I wrote just to break it on purpose.
Distributed Task Queue
Fire-and-forget clients, spawned worker processes, at-least-once delivery. The project where I finished something and felt strangely empty about it, which turned out to matter.
Software Renderer
No graphics API. Model-view-projection, clipping, rasterization with a depth buffer, and per-triangle Phong lighting, every stage written and understood by hand. Texturing and shadow mapping are next.
“I had spent three months learning how programs talk to each other. I hadn’t learned what to make them say.”
Most of what I build outside of work comes from wanting to understand something all the way down, the same reason I started weighing shots instead of eyeballing them.
Field Notes
A working log of the projects above, posted as I go.