https://github.com/ducks/ducks
https://github.com/ducks/ducks
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ducks/ducks
- Owner: ducks
- Created: 2025-06-20T23:30:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-12T22:37:38.000Z (6 months ago)
- Last Synced: 2026-01-13T02:47:56.851Z (6 months ago)
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# whoami
Software engineer who enjoys working on developer tooling, backend services,
observability infrastructure, and distributed systems.
## tech
## recent projects
### llm-mux - LLM Multiplexer
Route prompts to multiple LLM backends, run them in parallel, and orchestrate multi-step workflows:
- CLI and HTTP backends (Claude, Codex, Gemini, Ollama, OpenAI-compatible APIs)
- Parallel, first, and fallback execution modes per role
- Declarative TOML workflows with step dependencies and variable interpolation
- Shell, query, apply, and store step types
- Ecosystem memory: persist and query LLM analysis across projects via SQLite
[repo](https://github.com/ducks/llm-mux)
[crates.io](https://crates.io/crates/llm-mux)
### Scrob - Self-Hosted Music Scrobbling
Self-hosted alternative to Last.fm with public profile pages:
- Built with Rust, Axum, and PostgreSQL
- Token-based authentication with bcrypt password hashing
- RESTful API for submitting scrobbles from music players
- Public profile pages showing listening history and stats
- Embedded migrations via sqlx
- Designed for single-user or small community deployment
[repo](https://github.com/ducks/scrob)
[blog post](https://jakegoldsborough.com/blog/2026/building-scrob-self-hosted-scrobbling/)
### pond-nix - Declarative VPS Infrastructure
NixOS-based infrastructure management for personal services:
- Manages Gitea, Woodpecker CI, Scrob, GoatCounter (3 instances), Caddy
- Fully declarative configuration with atomic rollbacks
- Reproducible builds and deployments via Nix
- Service definitions in version control
- Simple deployment: `nixos-rebuild switch`
- Migration from manual systemd setup to declarative NixOS
[repo](https://github.com/ducks/pond-nix)
[blog post](https://jakegoldsborough.com/blog/2026/real-declarative-infrastructure-nixos/)
### JOBL + SRG - Structured Resume Tooling
A TOML-based resume format with strict validation and static generation:
- **JOBL**: Structured resume specification with version-aware parsing
- Type-safe validation with comprehensive error reporting
- Portable `.jobl` files for version control and collaboration
- **SRG**: Static generator converting JOBL to HTML and PDF
- Clean, professional templates optimized for screen and print
[JOBL repo](https://github.com/ducks/JOBL)
[SRG repo](https://github.com/ducks/SRG)
### Yaks - Virtual Currency for Discourse
A Discourse plugin implementing spendable in-forum currency:
- Topic pinning, boosting, and custom flair purchases
- Background jobs for transaction processing
- Integration with Discourse's user system and permissions
- Custom admin interface for currency management
[repo](https://github.com/ducks/discourse-yaks)
[part 1](https://jakegoldsborough.com/blog/2025/building-yaks-virtual-currency-part-1/)
[part 2](https://jakegoldsborough.com/blog/2025/building-yaks-virtual-currency-part-2/)
[part 3](https://jakegoldsborough.com/blog/2025/building-yaks-virtual-currency-part-3/)
[part 4](https://jakegoldsborough.com/blog/2025/building-yaks-virtual-currency-part-4/)
### Shelltrax - TUI Music Player
Lightweight terminal-based music player inspired by cmus:
- Smart metadata handling with directory-based album grouping
- Filename fallbacks for missing ID3 tags
- ZIP import for extracting albums from compressed files
- Search functionality with fuzzy matching
- Playback controls with autoplay and repeat modes
- macOS compatibility
[repo](https://github.com/ducks/shelltrax)
[blog post](https://jakegoldsborough.com/blog/2025/introducing-shelltrax/)
### Shellcast - TUI Podcast Player
Terminal-based podcast player with RSS/Atom feed support:
- Built with ratatui and crossterm
- Podcast discovery via gpodder.net integration
- Episode playback with ALSA/CPAL audio backend
- Feed refresh and episode tracking
- Pause/resume with proper state management
- Persistent library storage
[repo](https://github.com/ducks/shellcast)
## Interests
- Rust (TUI development, audio processing, systems programming)
- TypeScript, Node.js
- Ruby on Rails & Discourse plugin development
- Systems design & distributed systems
- Observability & monitoring (Prometheus, metrics exporters)
- Infrastructure automation (Docker, CI/CD, Makefiles)
- Developer tooling & CLI applications
- Music metadata standards (ID3, RSS/Atom feeds)