I built a browser-based SSH terminal manager because juggling tmux sessions across four machines via Alt-Tab was making me type commands into the wrong box. Then I started routing LLM agents through it.
Software projects, journal reflections, and stories in English & Japanese
I built a browser-based SSH terminal manager because juggling tmux sessions across four machines via Alt-Tab was making me type commands into the wrong box. Then I started routing LLM agents through it.
Integration testing five SQLite-backed Python libraries through their public APIs. 16 bugs found and fixed at the source. What the seams between libraries actually look like under chaos.
Parts 1–4 measured ORM overhead: sqler vs raw sqlite, both using JSON storage. This post asks a different question. What does the document-oriented architecture itself cost? Equality filter: 11x. Aggregates: 9.5x. JSONL export: 1.0x.
Hierarchy building from 86 seconds to 332ms (259x). Search from 3.77s to 31ms (121x). Memory from 83 MB to 1 MB (83x). Two measurement bugs caught before they shipped.
qler vs Celery+Redis — 7 scenarios, 3 rounds, and one embarrassing 12x gap we found by benchmarking ourselves honestly.
1,725 measurements, 4 scales, 10.5 hours. Bulk insert 0.89x (faster than raw sqlite). FTS ranked 1.00x. Everything else ≤1.15x. One irreducible gap at 1.34x.
Rust-powered structured log investigation for local files, optimized for AI agents. Cross-service timeline reconstruction in 13ms, hierarchy building in 349ms at 50K entries, 25 JSON CLI commands.
A local-only web UI for browsing remote files over SFTP and accessing tmux sessions in the browser. Vue 3 SPA, WebSocket terminal, mobile-first input bar, no remote installation required. 232 tests.
A lightweight, JSON-first micro-ORM for SQLite. Pydantic models stored as JSON documents with fluent queries, FTS5 search, optimistic locking, and 84K rows/sec bulk inserts.
LLM-first process manager for developers. JSON-native CLI, dual local/Docker execution, health probes with dependency ordering, replicas, cron scheduling, and a Vue 3 dashboard — 320 tests.