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 source snapshot to a remote coding agent and returns edits for inspection. Tasks keep the same ID through submission and retrieval. Relay mode provides read-only access to the live local project.
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.