Software
I build web and desktop applications, developer tools, libraries, and utilities for research and creative work. Additional repositories and notebooks are on github.com/osteele , and observablehq.com/@osteele .
Web Apps
Interactive applications for learning, research, and creative work.
Desktop Apps
Native desktop applications for research, productivity, and creative work.
Command Line Tools
Command-line utilities for development, publishing, and language learning.
Libraries & Frameworks
Libraries for JavaScript, Python, Go, and other languages.
Professional Tools
Tools for software development and research workflows.
Ecosystem Tools
Extensions and libraries for p5.js, Obsidian, and related platforms.
Application Domains
Tools for language learning, physical computing, and machine embroidery.
Recent Projects
agent-execution
Runs a coding agent as a job under an explicit tool policy (no tools, read-only, or confined writes), with process containment, cost limits, and a record of what the agent was given and what it did. Optionally submits the work as a Weft job.
agent-offload
Sends a coding task to an agent on another machine. The agent edits a snapshot of the source tree as a Weft job, and its work comes back as a diff to verify and apply.
agent-launcher
Launchers for Claude Code, Codex, Kimi, opencode, OMP, and agy that start each agent under agent-command-guards, with stable session identity, model-first commands, resume by name or transcript text, cross-harness continuation, crash recovery, and exit receipts.
issue-ledger
A local issue ledger for locally developed tools: file defects against any component, deduplicated by fingerprint, with occurrence counts and recurrence tracking after close.