Writing
From the lab
Practical notes on browser-native AI. Opinionated, technical, no fluff.
LiteRT.js Moves the TFLite Runtime Into the Browser
Google shipped LiteRT.js, a browser runtime for .tflite models that targets Wasm, WebGPU, and experimental WebNN instead of JavaScript kernels.
WebMCP's Second API Skips JavaScript Entirely. It's Two HTML Attributes.
Add toolname and tooldescription to an existing form and Chrome derives a JSON Schema tool from your labels — no navigator.modelContext, no hand-written schema.
A Browser Voice Agent Built on Three Workers
Voxtral Mini for speech, Hermes-2-Pro-Llama-3-8B for planning, Pocket TTS for speech synthesis — three models, three Web Workers, no server.
Chrome's Prompt API Now Runs on Web Pages. The Spec Process Disagrees.
Chrome 148 opened the Prompt API to any web page — no extension needed. Mozilla, Apple, W3C, and Microsoft all formally objected before it shipped.
Local LLM in a Todo App — WebLLM vs Prompt API
The same todo app, two different ways to run an LLM entirely in the browser: WebLLM with model weights you download, and Chrome's built-in Prompt API with no download at all.
WebMCP Needs a Browser Tool Layer — So I’m Building webmcp.js
A browser-side tool layer for turning websites from interfaces agents must guess into capability layers agents can safely understand.
The runtime behind browser AI
What actually happens when you load and run an AI model in the browser — from ONNX weights to WebGPU shaders.