Sawpoint Gateway
Running
One local endpoint that every other project talks to. Apps ask for a role — fast, smart, code, vision — instead of a model name, so swapping models is a config edit and nothing downstream notices. Every tool call gets validated, and anything the local model fumbles escalates to a cloud model rather than failing quietly.
Its tool-call reliability is measured over fifty trials and reported as a confidence bound, not as the observed rate. The honest limit right now is latency: about twelve seconds a call, which is fine for batch work and nowhere near fast enough for speech.
Python · FastAPI · Ollama · local service discovery via a runfile
Sawpoint Voice
Running
A text-to-speech server with a voice that belongs to nobody. It isn't a clone of a real person — it's a weighted blend of style vectors, which is what makes it original and impossible to revoke. Runs faster than real time on the CPU alone.
The thing that removed the robotic quality wasn't the model. It was a prosody layer: loudness that falls across a line, the final clause slowing down, uneven pauses, and a tiny per-clause nudge so no two breaths are bit-identical. It replaced a hosted service that would have cost four figures a month at 24/7 use.
Python · FastAPI · Kokoro-82M via ONNX
Pocket
Building
A private thinking partner I can open on my phone. It runs against my own hardware over a tunnel instead of a cloud API — that costs some answer quality and buys the thing I actually wanted. Full history on disk, with a bounded slice of it assembled per request so it fits a small model's context.
Crisis handling runs in Python, not in the prompt, and deliberately over-triggers. A small local model is least reliable exactly when it matters most, so that path never goes through the model at all.
FastAPI · installable web app · SQLite full-text search · faster-whisper for speech in
Jarvis
Built
An always-listening voice assistant for Windows, built before any of the above existed. Speech in, a pluggable model behind it, and real control of the machine: volume, brightness, launching apps, playing music, searching.
Two weaknesses I wrote down rather than hid — the wake word is a substring test, so it hears more than it should, and destructive actions run without asking. It gets folded into the gateway once the latency above comes down.
Python · Ollama or a cloud model · offline speech recognition available
Gil, the desktop pet
Running
A pixel critter that lives on the taskbar, remarks on what's on screen, and speaks in the same voice as the stream commentator. Sprites are generated by a script, so retuning him doesn't need a paint program.
Everything is local: the screenshot is captioned by a local vision model and never written to disk, and a blocklist checks the window title before the capture and the caption before anything is said. It was the first program to use the gateway's service discovery — opening the pet brings the AI up behind it.
Python · PyQt6 · click-through window with a separate bubble layer