Clone
2
Family
David Keane edited this page 2026-06-09 17:14:35 +01:00

Family

RangerHQ Radio is the oldest sibling in the RangerHQ family. The four-button-search affordance and the per-user-wp_usermeta storage pattern were both pioneered here, then ported to other family members.

Current family members

RangerHQ Radio — this project

RangerHQ Buddy — WordPress sibling

  • Surface: WordPress admin
  • Function: A small virtual pet for every WP admin user; Phase E will tie its mood to your site's actual health
  • Repo: git.davidtkeane.com/ranger/rangerhq-buddy
  • Distribution: WordPress.org Plugin Directory (in round-2 review at time of writing)

Buddy inherits Radio's wp_usermeta storage pattern and Tier-1 admin discipline. Different product (virtual pet, not radio) — same architectural ethos.

RangerHQ Tuner — Chrome sibling

Tuner is directly ported from Radio:

  • The four-URL templates in src/lib/history.js are byte-for-byte identical to radio_search_urls() in inc/history.php here.
  • The FIFO-500-with-dedup-against-last-entry rule is the same.
  • The (unknown) artist skip is the same.
  • The Stations / History / Favourites tab structure on Tuner's New Tab Page mirrors the History tab here.

The architectural translation from PHP wp_usermeta to JavaScript chrome.storage.local happened cleanly because Radio's data layer was small and self-contained.

Coming next

RangerHQ Logbook

  • Surface: WordPress admin
  • Function: Site-changes audit log for WordPress administrators. Captures who did what when across plugins, themes, options, users — searchable + exportable
  • Status: In design

Family-wide promises (the "RangerHQ promise")

Every plugin or extension in the RangerHQ family commits to:

  • GPL v2 or later — open source, audit-able, fork-able
  • No telemetry, ever — nothing leaves your site / browser / device
  • No third-party JavaScript SDKs — the code you install is the code that runs
  • No CDN-fetched fonts or images — assets are bundled, period
  • Narrow permissions — request only what's needed, justify the rest
  • Per-user / per-device privacy — no cross-account leakage, no shared site-wide state where per-user makes more sense
  • Hand-rolled, no build step where possible — vanilla PHP on WordPress, vanilla JS in the browser
  • Tier-1 admin discipline — single h1 per admin page, escaped output everywhere, accessibility-respecting, no inline <style> blocks
  • Keep-a-Changelog format — every release documented at the file-level detail

If a plugin or extension can't meet all of these, it doesn't ship under the RangerHQ name.

Identity

  • Logo: the RangerHQ helmet (the gladiator / Spartan-style silhouette)
  • Palette: dark base #0f1411, accent green #6dbf7a (RangerHQ green), cream #f4e9b7 (highlights)
  • Typography: system fonts, no web fonts
  • Voice: matter-of-fact, "what it does today" + "what it doesn't do yet"
  • Maker: David Keane, Dublin, Ireland

The lineage in one paragraph

RangerHQ Radio was the first plugin in the family. The four-button-search pattern emerged because David wanted a way to save tracks he heard on SomaFM, without embedding the auth complexity of Spotify or YouTube. Once the pattern proved itself on wp.org (Radio went live 2026-06-04), it was ported byte-for-byte to RangerHQ Tuner (Chrome) so the same idea would work in the browser. RangerHQ Buddy is a different product (virtual pet) but inherits the per-user-wp_usermeta storage pattern and the wp.org submission discipline from Radio's experience.

Each new family member ships faster than the last, because the architectural patterns are already proven and the wp.org / Chrome Web Store submission playbook is already written.