Reading view

There are new articles available, click to refresh the page.

Detroit voters narrow the field for November election

Detroiters cast their ballots during early voting and on August 5 to choose which candidates will move on to the general election in November. The primary results help shape the races for mayor, City Council, and other key local offices.

100% PRECINCTS REPORTING 
Last updated Aug. 6 at 8:52 a.m. 

Detroit Mayoral Race

Primary results (100% precincts reporting)

The top two vote-getters will advance to the general election in November.

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: '' === "yes", intersect:!('' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('350') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('350') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if(""){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if(""){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("" ) { columnOptions.tooltip['enabledOnSeries'] = []; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if("1"){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='bottom' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("6") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-78e2beb"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '78e2beb' ); } if (window.ajaxIntervalGraphina_78e2beb !== undefined) { clearInterval(window.ajaxIntervalGraphina_78e2beb) }

Detroit City Council

Detroit City Council at-large - Primary results (100% precincts reporting)

The top four vote-getters will advance to the general election in November.

No Data Found

` } return seriesName } }, tooltip: { enabled: '', theme: '', shared: '' === "yes", intersect:!('' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('350') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('350') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if(""){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if(""){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("" ) { columnOptions.tooltip['enabledOnSeries'] = []; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-370a50b"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '370a50b' ); } if (window.ajaxIntervalGraphina_370a50b !== undefined) { clearInterval(window.ajaxIntervalGraphina_370a50b) }

The Metro: Detroiters are asking for change. These races decide if they’ll get it

For months, Detroiters and suburbanites have had their eyes on the mayoral race. That’s for good reason: Mayor Mike Duggan is running for governor and the mayoral race is the most competitive it’s been in years. It’s also very likely that the city will have a Black mayor once again.

But other races in Detroit deserve attention. Twenty-two candidates are competing in the Detroit City Council primary races. Those seats matter — the people who win those positions are the city’s legislators. They decide what ordinances get passed, what norms are established, and which ones fade away. 

Bridge Detroit has been hosting town halls in every Detroit district leading up to Tuesday’s primary election. For more on what issues are uniting and dividing residents, The Metro brought into the WDET studios the two people leading those town halls: journalists Bryce Huffman and Malachi Barrett.

Listen to The Metro weekdays from 10 a.m. to noon ET on 101.9 FM and streaming on demand.

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

More stories from The Metro

The post The Metro: Detroiters are asking for change. These races decide if they’ll get it appeared first on WDET 101.9 FM.

The Metro: Detroit’s ‘bold plan to cut red tape’ for small businesses

Detroit City Council recently approved changes to city ordinances to make the licensing process easier and less cumbersome for small businesses.

The changes, which were unanimously approved by the council, will reduce administrative burdens by cutting redundant licensing requirements that “do not protect health and safety”; allow businesses to renew their business licenses every two years instead of annually; improve the city’s permitting and licensing processes and more.

Hassan Beydoun, group executive of Economic Development for the city of Detroit, joined The Metro on Tuesday to elaborate on what these new resolutions mean for small businesses in Detroit.

Use the media player above to hear the full conversation.

Listen to The Metro weekdays from 10 a.m. to noon ET on 101.9 FM and streaming on-demand.

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

More stories from The Metro

The post The Metro: Detroit’s ‘bold plan to cut red tape’ for small businesses appeared first on WDET 101.9 FM.

Detroit Evening Report: Petition seeking ward system for Dearborn City Council submitted for review

More than 6,000 signatures have been collected by a group seeking to change Dearborn’s city council format from an at-large body to holding district-based council elections.

Subscribe to the Detroit Evening Report on Apple Podcasts, Spotify, NPR.org or wherever you get your podcasts.

Dearborn Wants Wards filed the petition with the Dearborn City Clerk’s Office on June 18. If the language is approved, the city would have council members per district and only two at-large seats, for a total of nine council members.

If the language is approved, the city would have council members per district and only two at-large seats, for a total of nine council members. 

Campaign spokesperson Mona Mawari says the changes are overdue and necessary for equal representation of the city’s east and south sides. 

“So most of the seats are won by folks from the west side; and the East End has only one person on city council, and the South End has none,” she said. “So that’s when I decided to create this campaign where we will be going to change the structure of city council to a more equitable structure.”

If all the signatures are certified and election language is approved, voters in Dearborn will see the measure on their ballot in November.

Changes to the city council and charter commission would go into effect in 2029.

Other headlines for Monday, June 30, 2025:

  • A series of bills were introduced in the state Senate that aim to make renting more accessible. The bills would cap rental application fees at $25, eliminate junk fees that occur after a lease is signed, and seal eviction records.
  • The city of Dearborn will be increasing its police presence this Fourth of July weekend to combat a rise in illegal fireworks usage. Parents of children caught mishandling and using illegal fireworks will also receive citations as well. Police are reminding residents that fireworks are only allowed on private property from 11 a.m. to 11:45 p.m. between June 29 and July 5.

Do you have a community story we should tell? Let us know in an email at detroiteveningreport@wdet.org.

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

The post Detroit Evening Report: Petition seeking ward system for Dearborn City Council submitted for review appeared first on WDET 101.9 FM.

❌