91³Ô¹ÏÍø

Watch CBS News

Hundreds gather in South Shore to recognize groundwork by Community Violence Intervention groups

Community violence intervention groups in the South Shore neighborhood gathered to recognize their work to reduce gun violence. 

Hundreds filled the dining hall of South Shore Cultural Center, hearing from the groups, also known as CVIs, like Jason Little, director of strategic initiatives for Chicago CRED.

"Back in 2018, CVI operated in 13 communities (areas). By 2025, it was active in 51 of Chicago's 77 communities," he said.

At CVI's winter convening, they learned there were 417 homicides in 2025, which is the lowest in 60 years. It's also the first time in more than two decades that the city had four years in a row of declining gun violence.

"At the same time violence is going down, arrests are also down by about 30%, from 90,000 arrests to 60,000 arrests," said Arne Duncan with Chicago CRED.

"I didn't even think there was anything wrong with what I did, the way I lived," said James Mitchell of Metropolitan Peace Initiatives.

Mitchell started as a participant and is now a prevention and response field manager.

"If I would have knew these things first, if I would of had this education first, how many of my friends would I have been able to save? The people I would have been able to save, I truly believe, would have been almost astronomical," he said.

More than 15 community violence intervention organizations gathered at the center. Mayor Brandon Johnson said the gathering was about acknowledging their groundwork. He said it's not a victory lap, but seeing what works and continuing those efforts.

"This summer we hired 31,119 young people for summer jobs, the largest investment for youth employment in the history of Chicago," Johnson said.

Johnson also credited healing, saying the city has reopened three mental health clinics across the city.

Charles Coleman is a Chicago CRED participant and shared how working with their therapist has helped him.

"Therapy gives you a set of tools to navigate some of these conflicts that we don't have. We don't naturally acquire these conflicts, resolutions," he said.

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=50747257b890e014813016b79ece0fb2'; 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(); } }); }); }); });