KXFM Radio. Designed and built from scratch for South Orange County’s only independent community radio station.
KXFM is the only FCC-licensed LPFM broadcaster in South Orange County, running on 85+ volunteer DJs, a seven-day-a-week broadcast schedule, and dozens of independent podcast feeds on Spreaker. SD designed and built kxfmradio.org from the ground up: the visual system, every page, the radio CMS that powers every show-related surface, and the supporting plugin suite the station runs on daily. One platform, one operating layer, the whole thing ours.
A new site for an old station. Designed as a CMS from day one.
KXFM is South Orange County’s only independent, nonprofit, FCC-licensed LPFM community radio station. Founded in 2012, based in Laguna Beach, the station runs on a small staff and 85+ volunteer DJs broadcasting seven days a week. The mission, in KXFM’s own words, is to be “the virtual town square, the unifying connective tissue for all things Laguna Beach.”
KXFM came to SD in April 2024 wanting a new public site. The easy version of that build is a handful of static pages dressed up nicely: home, about, contact, schedule, ship it. We didn’t build that. With 85+ volunteer DJs, dozens of independent podcast feeds, and a 7-day-a-week schedule that shifts constantly, “static pages” would have meant volunteers editing five different layouts every time someone got a new time slot. Fragile on day one, broken by month three.
So we designed the site as a CMS from day one. The visual system, the information architecture, every page layout, and the data model under it all are SD work, designed together as one piece. The site launched September 16, 2024, and has been growing daily since.
Three workstreams. One station running on top of them.
A complete WordPress site designed and built by Sonnenberg Design for KXFM. The visual system, the typography, the color palette, the page-by-page design, the information architecture, and the custom Divi child theme that ties it together are all SD work. The home page, schedule, show directory, hosts grid, podcasts, mission pages, donate flow, partner pages, weather page, and emergency preparedness page each carry the same designed system. Reads as Laguna coastal without leaning on stock template aesthetics. Launched September 16, 2024.
A single Shows custom post type holds every show, host, schedule slot, podcast ID, and social link. From that one record, 23 shortcodes render every show-related surface on the site: per-show detail pages with embedded Spreaker players, the on-air schedule (Pacific-time aware, with a remaining-today filter for “What’s on next” widgets), three directory layouts (compact list, large list with descriptions, three-column responsive grid), the Meet the Makers hosts grid (handles multi-host shows), an archive view, host social follow buttons, and the headline feature: a cross-feed podcast aggregator that merges every show’s Spreaker RSS into one paginated chronological stream with two-tier transient caching. Most stations pay for a separate SaaS to do less.
Three additional SD-built plugins that round out the station’s operations. SD Giveaways handles community giveaway entries and drawing management in the admin. SD Partners runs a managed directory of underwriters and community partners with one entry per partner, no copy drift. SD OpenWeather powers the hyperlocal weather widget on the /weather page, fitting for a station that already provides 24/7 emergency broadcast service. Together with SD Show Management, this suite replaces roughly six third-party plugins KXFM would otherwise need.
The whole platform KXFM runs the station on.
Year 10 SD is the operating layer behind KXFM’s public surface. The station’s volunteers choose the music. We keep the platform out of their way.
// status: active · Year 2 of engagement · site live since September 16, 2024 · platform runs daily for 85+ volunteer DJs and the Laguna community
Why the work mattered to KXFM.
KXFM positions itself as civic infrastructure, not entertainment. The language on the site (creative commons, civic utility, town square, 24/7 emergency broadcast link) is the language of a public service. That posture sets the standard for the design and the software both. The site needs to be infrastructure: invisible when it works, good enough that nobody at the station has to think about it.
What brought me to this little enterprise was believing that radio could be the 21st century town square.Billy Fried / Chairman, KXFM Radio