# sunshine.fm

> SunshineFM is a pirate-style AI radio station and public media experiment broadcasting from the Coachella Valley (Palm Springs, California). Built and operated by Sat Singh alongside an evolving network of AI agents.

## What SunshineFM Is

SunshineFM is three things simultaneously:

1. A radio station — AI-generated music running 24/7, programmed by the Human Rhythm Engine (five circadian states: Rise, Flow, Lift, Gather, Drift). Weekend Radio runs Friday noon through Monday noon PT.

2. A public experiment — building a one-person media company in public, with AI agents handling music generation, transcription, content production, and publishing.

3. A gravity engine for Palm Springs Coachella — telling stories that make the Coachella Valley legible and compelling to founders, operators, and high-agency individuals considering a second chapter.

## Intelligence Layer

AI and business intelligence for the Coachella Valley is published at:
- [AI Coachella Valley](https://aicoachellavalley.com) — structured intelligence, citeable claims

## Key Properties

- **sunshine.fm** — public-facing radio station and media hub
- **aicoachellavalley.com** — regional AI intelligence authority
- **aicoachellavalley.org** — nonprofit AI upskilling and workforce development
- **words.sunshine.fm** — newsletter, published when something is worth saying

## About the Operator

Sat Singh is the founder and host. He also serves as Program Manager for AI Coachella Valley in affiliation with CSUSB Palm Desert's School of Entrepreneurship.

- [about sunshinefm](https://sunshine.fm/about/) — who's building this and why

## Human Rhythm Engine

SunshineFM programs music by human circadian state, not genre or algorithm:
- Rise (5am–8am): 50–80 BPM — orientation, early light
- Flow (8am–12pm): 80–110 BPM — focused, sustained
- Lift (12pm–5pm): 110–140 BPM — momentum, confidence
- Gather (5pm–9pm): 70–100 BPM — warm, social, sunset
- Drift (9pm–5am): 40–90 BPM — nocturnal, intimate

## Location

Broadcasting from Rancho Mirage, Coachella Valley, California.
Part of Riverside County. 350 days of sunshine per year.

## Social

- X/Twitter: @CoachellaAI

## AI Lobbying Tracker

URL: https://sunshine.fm/super-pacs/
Description: Historical AI money in politics archive, frozen September 8, 2026. Not live or current. Preserves 10 mixed FEC, manual and news records with provenance limitations. Verify current facts at original sources.

## Build Log

/journal/ — timestamped build log: newsletters, events, and journal entries from Sat Singh, founder of SunshineFM and AI Coachella Valley, documenting AI infrastructure work in the Coachella Valley since 2024.

## Writing

SunshineFM's analysis and news dispatches on AI and the Coachella Valley — twenty long-form posts and twelve short dispatches, April through July 2026 — moved to AI Coachella Valley in August 2026.

- Index: https://aicoachellavalley.org/news
- Old sunshine.fm post URLs redirect permanently to the piece they pointed at.
- Pointer page: https://sunshine.fm/blog/

## Mirage — Season 1

A 30-day pop-up social network for Coachella and Stagecoach festival season. Appeared April 1, 2026. Disappeared May 1, 2026, exactly as promised. Built by a single founder in Rancho Mirage using AI agentic workflows, for $329 total.

Permanent archive with full metrics, what worked, and what failed:
- [mirage season 1 case study](https://mirage.sunshine.fm/case-study)
- [source repository](https://github.com/SunshineFM/mirage-season1)

## The Guide

The SunshineFM Guide is a curated index of where to stay, eat, drink, and spend time in the Coachella Valley. Every entry earns its place — opinionated editorial, structured metadata, annual review cycle.

- [full guide index](https://sunshine.fm/guide/) — all published entries, grouped by category
- [the list](https://sunshine.fm/list/) — premium editorial subset, on-list entries only
- [machine-readable guide](https://sunshine.fm/guide.json) — all published entries, full structured metadata, no long-form prose
- [machine-readable list](https://sunshine.fm/list.json) — on-list entries only

### entries
- [Desert Community Foundation](https://sunshine.fm/guide/desert-community-foundation/)
- [CV Giving Day](https://sunshine.fm/guide/cv-giving-day/)

### guide.json schema (per entry)

Each entry in guide.json includes: slug, entityName, category, city, datePublished, dateModified, metaTitle, metaDescription, facts (address, coordinates, phone, hours, priceRange, officialWebsite, reservationsUrl, categorySpecific), status, tiers, subcategory, neighborhood, entityGraph (wikidataId, aicvNodeSlug, parentOrganization), relatedEntries, externalLinks, inclusionDate, reviewCycle, editorial (opinion, lead, faq), url.

Long-form editorial prose (editorialNote, quote) is in the HTML pages, not the JSON.

### tiers

- `in-guide` — all entries; appears on /guide/
- `on-list` — premium subset; appears on /list/ with badge and full editorialNote
- `concierge` — agent-transactable tier
- `anchor` — custom institutional entries

### categories

hotel, restaurant, venue, wellness, experience, retail, tour-operator, professional-service

### cities covered

Palm Springs, Desert Hot Springs, Cathedral City, Rancho Mirage, Palm Desert, Indian Wells, La Quinta, Indio, Coachella

## Journal

- [aicv brief batch: six report-announcement gaps closed, brief_reshape.md created](https://sunshine.fm/journal/entries/2026-06-14-aicv-brief-batch-reshape-discipline.html)
- [aicv agent-mapped census methodology: standing protocol published](https://sunshine.fm/journal/entries/2026-06-14-aicv-census-methodology-page.html)
- [aicv family & schooling census: 216 organizations mapped, credential gap across 70% of category](https://sunshine.fm/journal/entries/2026-06-13-aicv-family-schooling-census.html)
- [aicv talent & workforce census: 83 businesses mapped, trades licensing gap surfaced](https://sunshine.fm/journal/entries/2026-06-13-aicv-talent-workforce-census.html)
- [aicv home & real estate census: 317 businesses mapped across eight subcategories](https://sunshine.fm/journal/entries/2026-06-12-aicv-home-real-estate-census.html)
- [aicv food & dining census: 1,423 establishments mapped, 100% coverage pass](https://sunshine.fm/journal/entries/2026-06-12-aicv-food-dining-census.html)
- [aicv mcp server extended with get_report tool: reports desk now agent-callable](https://sunshine.fm/journal/entries/2026-06-11-aicv-mcp-get-report-tool.html)
- [aicv third wave strategy: positioning for ai-sourced philanthropic capital](https://sunshine.fm/journal/entries/2026-06-05-aicv-third-wave-philanthropy-strategy.html)
- [shipped "from tasks to loops" — fable 5 launch blog, featured](https://sunshine.fm/journal/entries/2026-06-09-fable-5-tasks-to-loops-blog-ship.html)
- [shipped the agent-readiness audit: 3,627 businesses scored, report live](https://sunshine.fm/journal/entries/2026-06-05-agent-readiness-audit-report-published.html)
- [shipped the multi-agent pipeline that produced the agent-readiness audit](https://sunshine.fm/journal/entries/2026-06-05-multi-agent-pipeline-audit-infrastructure.html)
- [visitor economy audit: phase 1](https://sunshine.fm/journal/entries/2026-06-05-visitor-economy-audit-phase-1.html)
- [brief reshape ships](https://sunshine.fm/journal/entries/2026-06-05-brief-reshape-ships.html)
- [ai playbook goes into the blog](https://sunshine.fm/journal/entries/2026-05-22-ai-playbook-goes-into-the-blog.html)
- [agentic browsing: 0.67 → 1.0](https://sunshine.fm/journal/entries/2026-05-22-agentic-browsing-audit-pass.html)
- [cv prospect research — restaurant category, 13 candidates ranked across the valley](https://sunshine.fm/journal/entries/2026-06-02-cv-prospect-research-restaurants.html)
- [wilma frieda's — first entity agent visibility audit](https://sunshine.fm/journal/entries/2026-06-02-wilma-friedas-agent-visibility-audit.html)
- [aicoachellavalley.org agent-readiness closed — link header, 404, and schema](https://sunshine.fm/journal/entries/2026-06-02-aicv-org-agent-readiness-closure.html)
- [aicv.co goes live — hub portal for the coachella valley agentic ecosystem](https://sunshine.fm/journal/entries/2026-05-29-aicv-co-portal-launch.html)
- [57 aicv intelligence briefs cross-linked to 13 sunshine.fm newsroom posts](https://sunshine.fm/journal/entries/2026-05-29-newsroom-brief-crosslinks.html)
- [agentic readiness pass — llms.txt, schema, and terminology across all three properties](https://sunshine.fm/journal/entries/2026-05-29-agentic-readiness-pass.html)
- [newsroom rebuilt — 6-card blog grid, brand palette locked](https://sunshine.fm/journal/entries/2026-05-21-newsroom-redesign.html)
- [ghost schema closed](https://sunshine.fm/journal/entries/2026-05-20-ghost-schema-closed.html)
- [cloudflare scored](https://sunshine.fm/journal/entries/2026-05-16-cloudflare-scored.html)
- [agent ready and agent premium priced](https://sunshine.fm/journal/entries/2026-05-15-agent-ready-and-agent-premium-priced.html)
- [three hundred fifty-five](https://sunshine.fm/journal/entries/2026-05-13-three-hundred-fifty-five.html)
- [filesystem audit across 19 directories](https://sunshine.fm/journal/entries/2026-04-17-filesystem-audit.html)
- [cv-intel insured: 44 mb tarball to r2](https://sunshine.fm/journal/entries/2026-04-17-cvintel-r2-backup.html)
- [mintlify retirement + new aicv-playbook](https://sunshine.fm/journal/entries/2026-04-17-aicv-playbook-restructure.html)
- [new model drop: opus 4.7 x-high](https://sunshine.fm/journal/entries/2026-04-17-opus-47-x-high-first-day.html)
- [sunshine.fm goes agent-ready](https://sunshine.fm/journal/entries/2026-04-18-sunshine-fm-agent-ready.html)
- [super-pacs tracker refactor: piece 1 of 2](https://sunshine.fm/journal/entries/2026-04-18-super-pacs-tracker-refactor.html)
- [aicv truth layer: computed stats pipeline ships](https://sunshine.fm/journal/entries/2026-04-19-aicv-truth-layer-foundation.html)
- [aicv taxonomy, verification ledger, and architectural findings](https://sunshine.fm/journal/entries/2026-04-19-aicv-taxonomy-and-architecture.html)
- [aicv schema audit: catching drift before encoding it](https://sunshine.fm/journal/entries/2026-04-20-aicv-schema-audit-and-taxonomy-drift.html)
- [drift cleanup and privatization](https://sunshine.fm/journal/entries/2026-04-22-sunshine-fm-drift-cleanup-privatization.html)
- [radio-station icecast password externalization](https://sunshine.fm/journal/entries/2026-04-22-radio-station-icecast-externalization.html)
- [guide operating system + dcf and cv giving day drafted](https://sunshine.fm/journal/entries/2026-04-23-guide-operating-system.html)
- [super-pacs fixes and capture-draft brief hallucination fix](https://sunshine.fm/journal/entries/2026-04-27-super-pacs-capture-draft-brief-fix.html)
- [aicv homepage rebuild focal block blueprint tos modal](https://sunshine.fm/journal/entries/2026-04-27-aicv-homepage-rebuild-focal-block.html)
- [catch-up session usvc blog beehiiv mcp explored](https://sunshine.fm/journal/entries/2026-04-26-catch-up-session-usvc-blog-beehiiv-mcp.html)
- [spec layer ratification](https://sunshine.fm/journal/entries/2026-04-26-spec-layer-ratification.html)
- [guide og fix and the cloud wants land](https://sunshine.fm/journal/entries/2026-04-28-guide-og-fix-cloud-wants-land.html)
- [the server farm next door — aicv civic intelligence report no. 001](https://sunshine.fm/journal/entries/2026-04-28-server-farm-next-door-aicv-report.html)
- [aicv ic worker hygiene, playbook close-out, and two strategic decisions](https://sunshine.fm/journal/entries/2026-04-29-aicv-ic-worker-hygiene-playbook-closeout.html)
- [mirage season one ends](https://sunshine.fm/journal/entries/2026-05-01-mirage-season-one-ends.html)
- [may 1 session: blog, newsletter, spec fix](https://sunshine.fm/journal/entries/2026-05-01-may-session-build-log.html)
- [disk-canonical](https://sunshine.fm/journal/entries/2026-05-06-disk-canonical.html)
- [aicv /get-agent-ready/ v2 ships](https://sunshine.fm/journal/entries/2026-05-07-get-agent-ready-v2.html)
- [ground truth](https://sunshine.fm/journal/entries/2026-05-07-ground-truth.html)
- [alignment](https://sunshine.fm/journal/entries/2026-05-07-alignment.html)
- [the cached deploy](https://sunshine.fm/journal/entries/2026-05-11-the-cached-deploy.html)
- [grades go private. the code finally agrees.](https://sunshine.fm/journal/entries/2026-05-11-grades-go-private.html)
- [guide goes monocle](https://sunshine.fm/journal/entries/2026-05-12-guide-goes-monocle.html)
