Projects

I write a lot of Go. My side-projects are usually libraries, dev tools, or APIs that scratch an itch or explore an idea. I try to keep them small and focused, albeit not always successfully.

application

Toasters

GitHub

Agentic orchestration platform.

An LLM orchestration system geared toward getting the most out of smaller, less-capable LLMs running on limited hardware. Supports declarative execution graphs, fault resiliancy, and job management.

  • Go
  • TUI
  • LLM
  • Orchestration
  • Multi-Provider
built on
library

Mycelium

GitHub

Go library providing a bounded agent loop with a structured, three-status output contract.

The conversation loop ends only when the model calls one of three injected terminal tools: complete, request_context, or report_error, so output structure is enforced by tool-call validation rather than JSON-from-prose parsing.

  • Go
  • LLM
  • Provider-Agnostic
built on
library

Rhizome

GitHub

A lightweight, generic graph execution engine in Go.

Define typed nodes and edges, compile the graph, and run it. Provides conditional branching, loops with cycle protection, and a middleware chain for retries, timeouts, and panic recovery. Opt-in checkpointing snapshots state after every node so a crashed run can resume in a different process, and nodes can pause for human-in-the-loop input via interrupts.

  • Go
  • Graph Execution
  • Zero-Dependency
library

Estoria

GitHub

An event-sourcing toolkit for Go.

Model application state as a series of state-changing events. Get auditing, replay, and time travel for free. Provides composable primitives: event-sourced aggregates, snapshotting, caching, and lifecycle hooks. Storage is pluggable: choose from Postgres, SQLite, MongoDB, KurrentDB, and S3, or roll your own.

  • Go
  • Event-Sourcing
dev tool

clic

GitHub

Define, generate, and run CLI tools from config — or straight from OpenAPI.

The Command Line Interface Compiler turns a simple YAML/JSON spec — or any OpenAPI 3.x document — into a command-line tool you can run on the fly or compile to a native Go binary. Includes an interactive TUI with response contract-testing and a spec-driven mock server with no server code.

  • Go
  • CLI
  • TUI
  • OpenAPI
  • Codegen
Experiment

Symposium

GitHub

A tiny CLI that runs an open-ended conversation between two LLMs.

Each participant is an OpenAI-compatible endpoint with its own model, system prompt, and temperature. History persists in SQLite, and per-session compaction and handoff keep long conversations from blowing past the context window. Socrates and Nietzsche can argue indefinitely.

  • Go
  • CLI
  • LLM