Jake Goldsborough

A collection of tools, plugins, and experiments I've built and maintain. Most are open source and actively developed.

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.

claux

https://github.com/ducks/claux

Terminal-based AI coding assistant written in Rust. Streaming chat with tool execution, session persistence, compaction, sub-agents, and multi-provider support (Anthropic, OpenAI, Ollama).

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.

llm-mux

https://github.com/ducks/llm-mux

Multiplexer for LLMs. Route prompts to multiple backends, run them in parallel, and orchestrate multi-step workflows across Claude, Codex, Gemini, Ollama, and any OpenAI-compatible endpoint.

jobl

https://github.com/ducks/jobl

TOML-based resume format with strict validation. Human-readable, version-controllable, plain text resume data structure.

srg

https://github.com/ducks/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.

denver

https://github.com/ducks/denver

Discourse ENV managER. CLI tool for managing multiple isolated Discourse development environments. Create, switch between, and test different plugin combinations without breaking your main setup.

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 and services. Mapping and route generation.

slumprutt

https://github.com/ducks/slumprutt

Generate random walking, cycling, or driving routes for your next adventure. Built with Svelte.

beanledger

https://beanledger.coffee

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

https://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.