91³Ô¹ÏÍø

Watch CBS News

2025 Icon Award winners year in review

In 2025, we honored 49 people in our first year of the CBS News Bay Area Icon Award for Outstanding Community Service.

From training the first service dog to beautifying a scenic jewel to teaching at-risk kids to save and invest money, our Icon winners are making a difference.

A number of winners serve the unhoused. They make specialty sandwiches, visit encampments, and offer hot meals. They provide shelter, job training, and even throw birthday parties.

Our winners innovate out-of-the-box solutions in affordable housing and peer-based recovery support. One winner crafted a new law to give rehabilitated prisoners a second chance. Other winners support their new beginnings with legal help, and job training in bicycle repairs and beauty.

Several Icons work alongside newcomers, assisting with citizenship applications and teaching music and language classes that preserve their community's cultural heritage.

One winner saved a San Francisco theater. Another works to make the city a music epicenter. Using music for change, a pair of winners gives children a voice through songwriting.

Another teaches free guitar lessons to keep kids out of trouble. A piano instructor opens access to music competitions, while a musician provides healing through sharing harmony.

A couple of 2025 winners bring healing through free summer camps for kids with a parent with cancer. A pair of sisters give free custom wigs for women with cancer or alopecia.

Several winners turn their grief into something good. A father helped build a field honoring his slain police officer son. Parents of a murdered councilmember continue his legacy of service. And a mom and dad promote ocean safety after their son drowned.

Four winners serve the autism community with a new emergency alert police registry, an annual rodeo, and the expansion of a riding and horsemanship program.

A number of winners empower girls through sports leadership programs and scholarships.

Others give away holiday toys to at-risk children. Some bring the joy of surfing to kids dealing with trauma and celebrate older surfers in an annual contest.

And as we begin our second year of the CBS News Bay Area Icon Award, remember that you can nominate a local hero at kpix.com/icon. 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });