A collection of tools, plugins, and experiments I've built and maintain. Most are open source and actively developed.
AI and Agent Tools
Tools for running, evaluating, and extending AI agents. Focused on reproducible workflows, interchangeable harnesses, and systems that remain inspectable.
replaybook
Evaluate infrastructure agents against isolated, stateful incidents. Boots disposable NixOS hosts and verifies that repairs survive service restarts and a full reboot, with versioned reliability, timing, and cost reports.
claux
https://github.com/ducks/claux
Rust terminal agent harness for multi-provider models, with tools, permissions, persistent sessions, cost tracking, sub-agents, and isolated evaluations.
skillz
https://github.com/ducks/skillz
Package manager for Claude Code and Codex skills. Install, update, and share individual skills or skill packages from GitHub.
llm-mux
https://github.com/ducks/llm-mux
The Makefile for LLMs. Define TOML workflows that route prompts across models, run steps in parallel, and compose their results.
raft
Personal knowledge graph derived from Markdown notes, project repositories, and Git history, with provenance-backed search and MCP access for agents.
Rust TUI Applications
Terminal user interfaces built with Ratatui. I prefer keyboard-driven, minimal interfaces for daily workflows.
shellcast
https://github.com/ducks/shellcast
A minimal TUI podcast player for the terminal. Subscribe to feeds, download episodes, and play audio without leaving the command line.
shelltrax
https://github.com/ducks/shelltrax
A cmus-inspired terminal music player written in Rust. Lightweight, keyboard-driven playback with playlist management.
shellbooks
https://github.com/ducks/shellbooks
Terminal audiobook player and library manager with chapter support, persistent playback position, metadata, cover art, and variable speed.
discourse-tui
https://github.com/ducks/discourse-tui
Browse Discourse forums from the terminal. Navigate categories, read topics, and browse posts with vim-style keybindings.
vim-navigator-rs
https://github.com/ducks/vim-navigator-rs
Vim-style modal editing and navigation for Ratatui TUIs. Reusable component for building vim-like interfaces in terminal applications.
Neovim Plugins
Plugins for Neovim written in Lua. Focus on markdown workflows and presentation tools.
vimdeck.nvim
https://github.com/ducks/vimdeck.nvim
Modern Neovim presentation plugin for markdown files. ASCII art headers, clean rendering, Treesitter parsing.
mdpreview.nvim
https://github.com/ducks/mdpreview.nvim
Live markdown preview in Neovim split window. Treesitter parsing, synced scrolling, styled headers.
nvim-vandelay
https://github.com/ducks/nvim-vandelay
Import management for JavaScript and TypeScript. Automatically organize and insert import statements.
Development Tools
Command-line tools and libraries for developers. Automation, infrastructure, and API clients.
jobl
TOML-based resume format with strict validation. Human-readable, version-controllable, plain text resume data structure.
srg
Static Resume Generator. Converts JOBL files to HTML and PDF using headless Chrome. Includes customizable layout system with quoted string support.
date-ver
https://github.com/ducks/date-ver
Date-based versioning specification. Use YYYYMMDD, YYYYMM, or YYYY for releases where timing matters more than compatibility signals.
yaml-janitor
https://github.com/ducks/yaml-janitor
YAML linter that preserves comments using psych-pure. Detects issues and fixes formatting without destroying documentation.
discourse-api-rs
https://github.com/ducks/discourse-api-rs
Async Rust client for the Discourse forum API. Fetch topics, posts, categories, and more.
discourse-comments
https://github.com/ducks/discourse-comments
Drop-in embedded comment widget for static sites. Uses discourse-api-rs compiled to WASM, bundled as a single script tag with no iframe required.
node-postgres-exporter
https://github.com/ducks/node-postgres-exporter
A lightweight, configurable Prometheus exporter for PostgreSQL written in Node.js.
Self-Hosted Services
Services and infrastructure I run myself. Music tracking, analytics, and personal data ownership.
scrob
https://github.com/ducks/scrob
Self-hosted music scrobbling server with Rust and PostgreSQL. Track listening history, share public profiles, and own your music data without relying on Last.fm.
Web Applications
Browser-based tools, useful services, and experiments that escaped into production.
googlyeyes.dev
Put interactive googly eyes on any image and export a self-contained SVG whose pupils follow the cursor. Everything runs locally in the browser.
Schrödinger's Life
A collective creature that remains alive only while somebody is observing it. When the final viewer leaves, the current life dies and joins a permanent graveyard.
slumprutt
https://github.com/ducks/slumprutt
Generate random walking, cycling, or driving routes for your next adventure. Built with Svelte.
beanledger
Multi-tenant SaaS production planner for specialty coffee roasteries. Imports orders from ShipStation/TRADE/Square, calculates green coffee needs from roast loss and leftovers, and generates daily pick lists for the roasting floor.
isitreal.estate
Crowd-sourced reviews for real estate listings, tied to physical addresses instead of ephemeral listings. Waze, but for house hunting — see what people actually found when they visited.
Experiments
Older projects and experiments.
gitvote
https://github.com/ducks/gitvote
Git-based cryptographically verifiable voting system using signed commits, pull requests, and fully auditable blockchain-style block generation.
All repositories are available on GitHub.