I rebuild real systems, then publish where the design broke.

Kubernetes' API server, reimplemented far enough that the real kubectl can't tell. A browser tab scheduler that holds a memory budget you name. A search engine with its own crawler, index and ranker.

I'm Seth Wheeler, a software engineer and graduate student. Day to day I work on platform and integration engineering (Node microservices, Kubernetes, CI/CD) and, increasingly, MCP servers and retrieval-augmented tooling. What keeps pulling me in is systems that have to hold a resource contract under concurrency: schedulers, protocol implementations, anything whose correct behaviour is only observable from outside the process that's supposed to guarantee it.

Start here

Evaluating my work
The write-ups are the best evidence of how I work: a modelling error I found in my own design and quantified, and a bug that was only observable from outside my process. Background on the about page.
Here to read code
nodejs-k8s is the most substantial public codebase, and the compatibility claim is testable in about a minute with a kubectl you already have. The projects page has the measured detail on each one.
Just browsing
All writing, or the feed.

Projects

  • nodejs-k8s124 stars · JavaScript

    Kubernetes' core APIs, reimplemented in Node. Point your real kubectl at it.

    Pods, deployments, replica sets, services and jobs served over the same REST surface the real API server exposes, so the unmodified kubectl CLI and standard YAML work against it unchanged.

  • KestrelSwift · WebKit

    A macOS browser that holds whatever tab-memory budget you set it.

    ~7,900 lines of Swift on WKWebView. Background tabs are demoted down a ladder of measured states to stay under budget: at 800 MB it destroys zero tabs where discard-LRU destroys 5, for 1.5% more memory. Not public yet.

  • social-deduction-benchJavaScript · Ollama

    Social deduction as an LLM benchmark: scored per turn and corrected for chance, not ranked by win rate.

    522 games across 19 models, measuring deception and deception-detection separately, with a rule-based control that nothing has beaten yet.

  • reckoner (research)Research · write-up

    Fifty-plus experiments on whether language-model capability really needs billions of parameters.

    A mixture-of-experts streaming cost model validated byte-for-byte against a runtime I didn't write, and to 1.1% against an unrelated model; then a 276B model run from SSD whose bytes-per-token prediction held while its speed prediction missed by 23×, for a limitation declared in advance. Not a public repo; the write-up is the artifact.

  • video-timelinePython · ffmpeg · Tesseract

    Hands a video to a language model as a measured timeline, not a pile of screenshots.

    Turns an MP4 or MOV into timestamped intervals (shot boundaries, camera-motion vectors, on-screen text, audio activity) so the model reasons about what happened between frames instead of inventing it. Python over ffmpeg and Tesseract; no sample video ships, because the test fixtures are generated with known contents.

  • sql-nodejsJavaScript · zero-dependency

    An in-memory SQL engine on npm with a hand-written parser and genuinely zero dependencies.

    Parses SQL strings and answers SELECT with real column projection over its own table and row storage. Deliberately small (one equality per WHERE, no joins or aggregates) and the limits are listed in the README rather than discovered.

  • webCrawlerJavaScript · MongoDB

    A search engine (crawler, inverted index, BM25 ranker) with no Elasticsearch.

    A hand-written robots.txt parser and a politeness limiter that survives 100 concurrent worker processes, asserted against what the crawled server actually received rather than what the limiter reported.

  • Postmastr-Backend3 stars · JavaScript

    A mailroom tracker that reads shipping labels off a photo and emails the recipient.

    Tesseract.js OCR over label images, wired into a Node/Express and MongoDB backend.

All projects, in detail →

Writing

All writing →