Run a demo
loading presets…
…or build a custom roster
Planning…
The plan
Street-following route from OpenRouteService; ordering by OR-Tools. The map draws from the route tool's own GeoJSON — never from the model's retelling.
What you just watched
The agent is a hand-rolled loop — no framework —
around a small model (qwen3-8b) doing native tool calling.
Three mechanisms keep it honest: a referee
that validates every tool call against its schema before
anything executes (violations bounce back as errors the
model reads and corrects); an auditor —
plain code, no AI — that refuses to accept a finished
plan until every dog's actual walk interval has a weather
check at that dog's location; and a structured
finish line: the model ends by calling a
submit_plan tool whose validated arguments are
the answer you see above. Weather verdicts come from
threshold tables in code, not from the model's judgment
— the model relays them and plans around them.
The service runs on a retired laptop in a closet (the inference is rented per-token); the whole stack costs about a dollar a month. Source, tests, and the full build history: the repo.