
TL;DR
Ngrok engineer Sam Rose ported 100,000 lines of Kubernetes to TypeScript, creating a browser-based cluster for educational use - with 2,059 tests proving it behaves like real k8s.
Sam Rose, a Senior Developer Educator at ngrok, spent two months porting Kubernetes to TypeScript to run entirely in the browser. The result is Webernetes - 100,000 lines of code across 629 files, weighing in at 140KB gzipped.
The project is not for running production workloads. It is for teaching how Kubernetes works.
Rather than compiling the Go codebase to WebAssembly (which would have blown past 500KB), Rose rewrote key components:
What is not included: ConfigMaps, Secrets, pod resource limits, persistent volumes, and real container image support. The registry is browser-only.
Since Docker Hub images cannot run in a browser, Webernetes uses a TypeScript API for defining container images with built-in HTTP server capabilities:
const myContainer = new WebContainer({
image: 'my-app',
ports: [8080],
start: async (ctx) => {
ctx.serve(8080, (req) => new Response('Hello from Webernetes'));
}
});
This is enough to demonstrate pod-to-pod networking, deployments, and service discovery without real container runtimes.
The legitimacy check for any port is whether it actually behaves like the original. Rose addressed this with two test layers:
Both suites run against webernetes and k3s, asserting the same behavior.
From the archive
Jun 30, 2026 • 7 min read
Jun 30, 2026 • 8 min read
Jun 30, 2026 • 6 min read
Jun 30, 2026 • 8 min read
The blog post is upfront about methodology:
Almost all of the webernetes code was authored by LLMs.
Rose argues this is not slop because of two practices:
This framing - AI generates, human reviews, tests verify against ground truth - is one model for using AI coding tools responsibly in larger projects.
The Hacker News discussion was generally positive, with interest in both the project and the development process.
On the project itself, one commenter noted: "I see this as a fun learning and experimental tool. For a while I have wanted to make a web page where you can do service load balancing and queuing simulations so this would be a great basis for it."
Others appreciated the educational angle: "As someone who has authored Kubernetes educational content in a past role, I can definitely see the appeal of building something like this."
On the AI development process, one commenter observed: "This feels like the right way to frame LLM-assisted engineering. AI can generate a shocking amount of code, but the actual value is in the review discipline, and tests around it."
The complexity question came up predictably, with jokes about Kubernetes overhead. But one commenter made a more nuanced point: "There's an interesting argument to make that something like kube is the necessary complexity level for the kinds of tasks that kube is intended to accomplish, ala Fred Brooks' rule about essential complexity vs accidental complexity."
The demo at webernetes-demo.ngrok.app lets you interact with a cluster in your browser. Practical applications include:
It is explicitly not for cluster operations, production workloads, or anything requiring real container images.
| Metric | Value |
|---|---|
| Lines of code | ~100,000 |
| Files | 629 |
| Gzipped size | ~140KB |
| Unit tests | 1,855 |
| Integration tests | 204 |
| Development time | 2 months (April-June 2026) |
| License | Open source (ngrok) |
Webernetes is interesting on two levels:
As an educational tool - It solves the "I need a cluster to teach Kubernetes" problem without requiring cloud infrastructure.
As an AI development case study - The combination of LLM code generation, human review, and behavioral testing against ground truth is a pattern worth studying.
The project ships with documentation on how to extend it with custom controllers and workloads, making it useful for anyone building Kubernetes educational content.
Last updated: July 1, 2026
Read next
Microsoft ships TypeScript 7.0 with a complete Go rewrite of the compiler, delivering 8-12x build speedups and transforming IDE responsiveness across massive codebases.
6 min readVercel Labs released Scriptc, a TypeScript-to-native compiler that produces self-contained binaries of 170-200KB with ~2ms startup times and no embedded JavaScript engine. The HN community is sharply divided on whether this is a genuine engineering breakthrough or another Vercel Labs project that will be abandoned in months.
9 min readThe Gleam programming language has migrated to Tangled, a new ATProto-based code hosting platform. Here's what this means for developers and the future of decentralized forges.
6 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
Modern browser automation from Microsoft. Auto-wait, role-based selectors, cross-browser, fast in CI.
View ToolThe TypeScript toolkit for building AI apps. Unified API across OpenAI, Anthropic, Google. Streaming, tool calling, stru...
View ToolFrontend stack for agent-native apps. React hooks, prebuilt copilot UI, AG-UI runtime, frontend tools, shared state, and...
View ToolTypeScript-first AI agent framework. Agents, tools, memory, workflows, RAG, evals, tracing, MCP, and production deployme...
View Tool
In this video, learn how to leverage convex components, independent modular TypeScript building blocks for your backend. This tutorial focuses on one of the latest integrations with the Resend...

Getting Started with OpenAI's New TypeScript Agents SDK: A Comprehensive Guide OpenAI has recently unveiled their Agents SDK within TypeScript, and this video provides a detailed walkthrough...

#openai #gpt3.5 #gpt4 #nodejs #typescript #sdk#gpt4 Links coming soon... FOLLOW ME → Website: https://dub.sh/dev-digest → X/Twitter: https://dub.sh/dd-x → GitHub: https://git.new/devdigest...

Vercel Labs released Scriptc, a TypeScript-to-native compiler that produces self-contained binaries of 170-200KB with ~2...

Microsoft ships TypeScript 7.0 with a complete Go rewrite of the compiler, delivering 8-12x build speedups and transform...

Agent-Manager wraps tmux into a Go TUI that groups AI coding agents by project, shows live status for each, and lets you...

Mitchell Hashimoto (Vagrant, Terraform, Ghostty) launched Superlogical - a new company building a terminal multiplexer t...

PGSimCity is an explorable 3D city that models PostgreSQL internals - shared buffers, WAL, autovacuum, checkpoints, and...

Ruff v0.16.0 ships 413 default rules (up from 59), Markdown code-block formatting, and a new ruff: ignore system. Here i...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.