← Oam.js

Blog

Engineering posts from the Oam.js runtime. Numbers come with their denominators, and the cases where another runtime wins are named.

Oam.js: a runtime for TypeScript and MCP servers, with the denominators attached

What Oam.js is, what the conformance and benchmark numbers actually measure, where Bun and Node win, and when to pick something else.

MCP servers as sidecars: what a runtime owes a fleet of small processes

Cold start, idle RSS and first-call latency are costs a sidecar fleet pays over and over. What the benchmarks say — and what they do not.

Running TypeScript without a build step (and where the types actually go)

How oam strips and runs .ts instantly while a warm tsgo sidecar streams full type diagnostics, and the ESM divergence most likely to bite.

Why Oam.js ships unsigned, checksummed binaries

What the installer verifies, what a SHA-256 checksum proves and does not prove, and how to check a download by hand.

Why there is no linux-arm64 build yet

linux-arm64 compiles from the same tree, but the V8 startup snapshot cannot be cross-compiled. Why the installer refuses rather than guesses.

Oam.js v0.9.0

What changed in v0.9.0, leading with the behavior changes.