Work
Four tools I built because I needed them, and kept because they worked.
All four are open source and free to use. Each one below says what it does, and — if you want the longer answer — why it exists at all.
The four · 4
A terminal coding agent that shows you every change before it makes it.
why it exists
HooCode reads your code, runs your tests and edits your files — but it shows you each edit and each command first, and waits. That gate is the whole design. An agent you still have to supervise is genuinely useful; one you cannot supervise at all is a liability with a nice interface.
It runs in four scoped modes — Ask, Plan, Build, Debug — so it never has more reach than the job needs, and it talks to whichever model you already pay for, across twenty-five-odd providers.
The repository is a monorepo of four parts, each useful on its own: the agent CLI, a runtime that handles tool calling and state, the unified provider API, and a terminal UI library with differential rendering, so a long session does not repaint the world on every token.
One command installs it, on any of the three platforms, with no runtime to set up first:
curl -fsSL https://kolisachint.github.io/hoocode/install.sh | sh # macOS, Linux irm https://kolisachint.github.io/hoocode/install.ps1 | iex # WindowsIt was originally derived from Mario Zechner’s MIT-licensed
pi-monoand has grown a long way from it — modes, subagents, skills, plugins, MCP, session persistence — but a good deal of the foundation is still his. The credit and the copyright line stay in the repository, where they belong.Search that matches on meaning as well as on words. Rust, and no service to call.
why it exists
Keyword search misses the document that says the same thing in different words. Vector search misses the one where the exact word mattered. This does both and fuses the results, which in practice is what you wanted from either.
Three decoupled layers sit behind one small API: an embedder that turns text into vectors, an index that returns the top k, and an optional BM25 lexical index that makes retrieval hybrid. Each is a trait, so an exact index can be swapped for an approximate one per store without touching a caller.
The HNSW implementation is written from scratch rather than pulled in, which was the point of the exercise — I wanted to understand the structure, not call it. Persistence is a raw
f32matrix plus a JSON manifest, written atomically and mapped rather than read, so a cold start is ammapand not a parse. Embeddings come from MiniLM through ONNX Runtime at int8; the default build ships a deterministic mock embedder so the tests need no model at all.It runs as a library, a CLI, or a long-lived stdio daemon designed to be driven from a TypeScript
spawn— which is how the agent tooling actually uses it.Lets an agent read the web without spending its memory on link addresses.
why it exists
A web page pasted into a context window is mostly URLs, and URLs are expensive. webtools rewrites links as inline
[1]markers — roughly one token each — and collects the real addresses into a reference block at the end, so the model sees a cheap marker but can still recover the exact URL when it needs it.--max-tokenscaps the whole output, references included.The other half is honesty about failure. A search that was blocked, a page that needs JavaScript, and a page that is genuinely empty are three different outcomes. Return the same silent nothing for all three and the agent fills the gap with invention. Here they are distinct, and it can act on the difference instead.
One binary, no API keys, no backend — and it takes keys when you want better search results.
Offline voice-to-text for the terminal. Microphone to stdout, no cloud.
why it exists
A small Rust binary that opens the microphone, notices when you have stopped talking, and streams recognised text on stdout in a line protocol simple enough to drop into a TUI as push-to-talk. Nothing leaves the machine — which is the reason it exists, and also why it works on a train.
Recognition is Parakeet-TDT through ONNX Runtime at int8, with whisper.cpp available as a fallback backend. Models are pre-exported and fetched on first run, so there is no Python and no NeMo in the install path.
One finding worth writing down: the ONNX sessions run single-threaded on purpose. Multi-threaded int8 inference is non-deterministic, and the greedy decode responds by dropping or garbling words. Correctness first, then speed.
Also on GitHub
Everything else, in one line each
Other tools, experiments and half-finished ideas — including a few I am fond of. The list builds itself: any repository of mine with a description lands here, and one without a description does not. Have a dig around.
- pycortexA Python port of the hoocode terminal coding agent, rebuilt as an ultra-modular monorepo — one responsibility, one pyproject and its own tests per package, ported in measured-churn order so the stable code ships to PyPI first. 354 modules, 118 test files, migration in progress.Python
- hoocode-workspaceThe configuration workspace for hoocode — modes, profiles and context that persist across sessions and can be shared.—
- product-builderA working full-stack KYC onboarding app written end to end by a team of five hooteams agents — and the contract harness that made them agree. Blueprint written once to a shared board before any code; a validator agent with authority to reject sits between backend and frontend.TypeScript
- oracle-vmTerraform and cloud-init for a free Oracle Cloud Always Free VM with five AI CLI tools pre-installed and a hardened hoocowork systemd service.Shell
- omo-configPortable oh-my-openagent profiles for OpenCode. Switch between provider-specific model tiers — premium, daily, fast, free — with one command.TypeScript
- ai_learningAn agentic framework for data-engineering automation. Ships an offline BigQuery Terraform agent that turns CSV, JSON, HTML or PDF table schemas into google_bigquery_table HCL with no cloud API key — inference via Ollama — plus a planner/researcher/writer pipeline on Vertex AI.Python
- design_to_codeTurns an Excel data model into the artefacts a BigQuery platform needs — documentation, a Mermaid ER diagram, a DBML physical schema, Terraform HCL for datasets and tables, and a dbt skeleton of staging models, marts and schema.yml. The unglamorous first week of a platform build, made reproducible.Python
- skillsPortable AI Skillkit — a curated catalog of components for coding agents. One catalog, all platforms, installable with a single curl or PowerShell line.Shell
- screencutTurns a raw screen recording into publish-ready video — narrated, captioned, auto-zoomed, reframed for multiple aspect ratios, with a review loop that captures corrections as structured diffs. AI-edited, not AI-generated: every frame is captured.Python
- BrainDockA local-first second-brain assistant connecting Obsidian and Apple Reminders. Two-way sync, AI-enriched daily and weekly review synthesis, semantic search, link analysis, and a 5-level next-focus engine.Python
- hoocanvasLive mission control for a hooteams agent team. Pure frontend over the SSE wire format: one terminal pane per agent, streaming tokens, collapsible thinking traces, tool lifecycle chips, and a nudge input that steers any agent mid-run.TypeScript
- hooteamsMulti-agent team orchestration on top of hoocode agents, with an SSE bridge that exposes the live team event stream to the CLI, the built-in web UI, or any consumer of the wire format.TypeScript
- browsertoolsA deterministic browser engine with no LLM in-process. Drives Chromium over raw CDP, replays saved flows into tamper-evident evidence bundles, and exposes the browser primitives over stdio JSON-RPC with a live WebSocket screencast.Rust
- cortexcodeRust migration of the HooCode TypeScript coding-agent framework. A multi-crate workspace — ai, agent, code, tui — published to crates.io as focused, version-locked crates.Rust
- filetoolsReversible, token-efficient file serialization for LLMs. Extracts a file to compact semantic JSON, takes an edit patch back, and reconstructs the original format losslessly — a byte-span id-map means untouched bytes are reproduced exactly.Rust
- hoocoworkOne web interface for HooCode, Claude Code and GitHub Copilot — local or remote. Run and watch coding agents from a browser.TypeScript
- hoo-brandHoo Brand System 2026 — Developer-native identity for the agentic AI ecosystem. Node geometry, signal propagation, system-native typography.HTML
- pi-coworkEarlier experiment in a web interface for terminal coding agents. Superseded by hoocowork.TypeScript
- unchartedTurning the Uncharted 4 house into an architect-facing reconstruction package — traceable from lawful references only, with registers for levels, openings, finishes, assumptions and RFIs, and every change under a controlled workflow.—
19 repositories · read from the GitHub API at build time