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
- Surface: WordPress admin
- Function: SomaFM player with track history + favourites + four-button search to Spotify / YouTube / Apple / Bandcamp + optional pop-out window
- Repo: git.davidtkeane.com/ranger/rangerhq-radio
- Distribution: WordPress.org Plugin Directory (LIVE)
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
- Surface: Chrome browser (toolbar popup + optional New Tab Page override)
- Function: Same idea as Radio, but in the browser instead of wp-admin. Plays SomaFM, logs tracks, four-button search out to the major services
- Repo: git.davidtkeane.com/ranger/rangerhq-tuner
- Distribution: LIVE on the Chrome Web Store since 2026-06-09
Tuner is directly ported from Radio:
- The four-URL templates in
src/lib/history.jsare byte-for-byte identical toradio_search_urls()ininc/history.phphere. - 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.