Projects

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.

html2rss — maintained

A production-ready toolkit that turns arbitrary HTML into clean, structured RSS 2.0 feeds.

html2rss restores open web syndication by converting any website (static or dynamic) into a reliable feed. It uses declarative extractors in YAML, supports optional headless rendering, and outputs standards-compliant XML ready for any reader or aggregator. Built for maintainers who prefer simplicity over scraping frameworks, it runs well in cron jobs or containers and brings RSS back to sites that never had it (or quietly killed it).

Highlights

Discovery
Extracts article lists declaratively; minimal brittle selectors.
Dynamic sites
Optional headless rendering for SPA and JS-heavy pages.
Normalization
Consistent titles, authors, dates, and images across sources.
Ops
Error handling, monitoring hooks, and rolling releases for stability.
Delivery
Lightweight HTTP service with caching and health checks.
Stack
Ruby + Roda, RSpec/VCR, Docker; portable and easy to self-host.

Links


jekyll-loading-lazy — stable

Drop-in lazy loading for Jekyll (img/iframe). Zero JS. 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.
Adoption
59k+ RubyGems downloads; more than 420 GitHub repos depend on it.

Links


.dotfiles & Scripts — evergreen

My personal macOS & CLI setup. A living repository of the tools I use daily.

A production-grade macOS and CLI toolkit that rebuilds a familiar workstation from scratch in minutes. It automates Homebrew setup, dotfile linking, and editor preparation, while offering a guided macOS defaults wizard and practical scripts. From a local fuzzy-searchable wiki to a media normaliser for audio workflows.
Beyond automation, it documents the unscriptable bits, i.e. Touch ID sudo or Apple Watch unlock, and includes a Zsh setup for a consistent shell experience across machines.

Highlights

Guided setup
Applying opinionated macOS defaults with prompts for manual tweaks.
Curated package
Bundle ensuring shell aliases and tools just work.
Reusable
Zsh and editor configs so every new environment feels like home.

Links