DevLab – Scalable Web Coding Playground
I always wondered how platforms like Codedamn or Replit let you spin up a full-stack app — React, Next.js, Go, or Python — right in the browser, isolated yet lightning fast. So I built DevLab.
What began as a simple Docker experiment soon became a deep dive into the hidden infrastructure that powers modern developer platforms. DevLab is a container-based, full-environment coding playground that spins up isolated sandboxes on demand, complete with terminals, live previews, and real-time file sync.
The Architecture
Each DevLab session runs as a Kubernetes Job, launching a Pod with multiple
containers:
a runtime container that executes user code, a WebSocket service for live updates, and a shared
volume for instant
file access. A wildcard Ingress setup dynamically routes traffic (e.g.,
s1.playground.domain.com) to the right environment.
I started with AWS ECS and quickly hit scaling walls — slow EFS mounts, costly runs, and frustrating feedback loops. Moving to a queue + worker model helped, but I realized I was rebuilding what Kubernetes already does better: lifecycle management, networking, storage, and scaling — all out of the box.
Building DevLab was more than just wiring containers together — it was about understanding the backbone of scalable, cloud-native infrastructure. The result isn’t just a playground, but a blueprint for running isolated, ephemeral developer environments at scale.
You can explore more about this journey in my blogs: Building a Scalable Web Coding Playground Part 1 and Optimizing the Playground Infrastructure Part 2 .