Showcase
Projects from work and from my own lab.
Showing · show all
Apps that ask for results, not endpoints: a runtime capability graph
Decoupling apps, mobile apps especially, from the APIs behind them. The cloud publishes a machine-readable map of what it can do; the app asks for a result, such as a user's avatar; a small planner inside the app finds the best way to get it, falls back when a step fails, and learns from every client which paths actually work. AI is optional: the deterministic system works without it.
Capability contracts · Graph planning · TelemetryAn offline model that turns words into app actions, in the browser and on phones
Needle 3, a small open-source tool-calling model by Cactus Compute, runs fully offline, as WebAssembly in a web page or inside a mobile app, and turns a sentence such as "turn on the kitchen light" into one of the API calls the app supports. A large dictionary of commands and a keyword prefilter keep it accurate across many situations, and the app applies its own policy before any call is made.
WebAssembly · Web Worker · Needle 3 (Cactus Compute) · JSON Schema · JavaScript · Python test harness · Headless ChromiumTilt to read: the dead zone is the feature
Hands-free scrolling for an Android e-book reader: raise the top of the phone to read forward, let it sag to go back, nothing tapped. The whole feature is a handful of thresholds expressed as data, plus a live instrument for tuning them on your own hand.
Kotlin · Android sensors · Jetpack Compose · DataStore · ML Kit (QR)Private Local AI Platform
A self-hosted AI platform combining local GPU inference, autonomous agents, MCP services, browser and device control, asynchronous jobs, scheduling and persistent knowledge into one private execution environment.
Debian · C++ / llama.cpp · Local LLMs · GPU1 · GPU2 · Herd · Roamgate · MCP · MCPProxy · Node.js · Python · SearXNG · Meilisearch · Markdown · Git · Docker · LXC · Chromium · VNC · Android / ADB · Raspberry PiIRBouncer: an infrared bridge built like a small distributed system
A Wi-Fi infrared blaster and receiver on an ESP microcontroller, controlled entirely over MQTT, with no cloud and no app. It brings TVs, air conditioners and soundbars onto the network, while still working as a standalone IR translator without a broker.
C++ · PlatformIO · ESP8266 / ESP32 · IRremoteESP8266 · MQTT · ArduinoJson · LittleFS · Home AssistantPRD + SIM: product specs you can play
A product method in which a feature is written as a short spec, then built as an interactive simulation you can play, checked against the architecture before anyone writes production code, and reconciled with what actually shipped. AI assists at every step; people make the decisions.
PRDs · Single-file HTML simulations · Decision logs · Headless browser checks · AI agents · Python build scriptsA scalable, modular document indexing system with cross-module subscriptions
An indexing system for documents that live in many places at once. Small modules, one driver per kind of source, each own their view; they subscribe to each other's changes through a registry, and a shared layer links every copy of a document to one meta-document with merged metadata, labels and search. Every module is a container that finds its peers through the registry, so it scales out per driver and nothing ties it to one host; it could run on Kubernetes as it is. The first system built this way is already running; a second one, for mail and storage, gives AI agents a fast local index to read from.
Node.js · OpenAPI contracts · MariaDB · Meilisearch · MQTT · Docker · Headless Chromium · Containers (Kubernetes-ready)A probe that lives inside what it observes
A design for debugging live browser sessions from a server: a small probe runs as part of the page's own code, reports what it is and answers questions about its own state, but only when deliberately armed. It ships three ways: built into the site itself when you own the site, as a browser extension, or as a userscript, so it can run on desktop, mobile and tablet browsers alike. It exists because the standard debugging tool changes the very thing being debugged.
Built into the site (own sites) · Browser extension · Userscript (Tampermonkey and similar) · Heartbeat API · Job queue · Audit log















