
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.
Get the weekly deep dive
Tutorials on Claude Code, AI agents, and dev tools - delivered free every week.
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
The IETF published RFC 10008 defining a new HTTP QUERY method - GET with a request body. It is safe, idempotent, cacheable, and solves the longstanding problem of complex queries hitting URL length limits.
6 min readFlue is trending because it names the part of agent infrastructure that is becoming product-critical: the programmable harness around the model.
8 min readA new project proposes a graphical shell layer for SSH that turns remote servers into browsable desktops. The HN discussion digs into architecture choices, the terminology debate, and whether this solves a real problem.
8 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
The Godot Foundation has established a policy banning autonomous AI agent code and substantial AI-generated contribution...

A new project proposes a graphical shell layer for SSH that turns remote servers into browsable desktops. The HN discuss...

Armin Ronacher's new essay explores the tension between letting AI agents loop autonomously and maintaining the engineer...

A developer used OpenAI Codex to build a fully open-source WYSIWYG editor for TikZ figures. The technical approach and r...

A Codex CLI SQLite logging bug showed how global TRACE logs can burn SSD write endurance. OpenAI has now merged fixes, b...

Deno 2.9 ships a desktop app framework that compiles TypeScript projects into native binaries with WebView or bundled Ch...

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