Pragmatic tools I built for myself. If they make your life easier too, even better.
I prefer purposeful tools with small footprints. Everything here is open source; more lives on GitHub.
Status: maintained — accepting issues/PRs, releases ongoing; evergreen — feature-complete, fixes on request; legacy — kept for reference, no new work.
html2rss
Status: maintained
Open-source org — turns any website into RSS 2.0 or JSON Feed.
html2rss brings RSS back to sites that never had it (or quietly killed it). It reads what a page already says about itself before guessing, and starts a browser only when a page needs one. YAML selectors stay available when you know the markup.
The html2rss organization spans the Ruby gem, a self-hostable web app (paste a URL, get a feed), 220 ready-made site feeds, the docs site, and a headless scrape API.
Highlights
Extraction
Feeds from sites that never offered one, without writing selectors.
Dynamic sites
JavaScript-heavy pages work too; a browser starts only when needed.
Discovery
Finds the right listing page when the homepage says too little.
moodbar.rs turns audio into visual fingerprints by combining signal processing with practical developer tooling. It is built for DJs and audio broadcasters who need to scan large libraries quickly and choose tracks with more confidence. Rust ships on crates.io; WASM and native packages ship on npm — including released Swift iOS bindings.
Highlights
Rust core
Pure-Rust stack powered by Symphonia + RustFFT.
WASM
Browser-ready WebAssembly bindings with a live demo.
Native
iOS and Android bindings alongside CLI releases.
Platforms
Linux and macOS are first-class release targets.
Legacy output
Supports legacy-compatible raw moodbar byte generation.
Batch workflows
Batch generation pipeline for processing whole music folders.
Drop-in lazy loading for Jekyll (img/iframe). Instant performance wins.
Static sites deserve to be fast without extra chores. This plugin adds the native loading="lazy" attribute to images and iframes during the build, no template changes needed. Maintainers get Core Web Vitals improvements and one less script to ship.
Highlights
Automatic
Injects loading attributes into images/iframes at build time.
Low-touch
Works without editing content files or templates.
No JS
Native lazy-load via the loading attribute; removes third-party scripts.