NFL Draft prospect, Fernando Mendoza, watches these quarterbacks
2025 Heisman winner, Fernando Mendoza, shares which NFL quarterbacks he loves to study and why they’ve made an impact on him.
The NFL Draft is two weeks away, and new prospect grades for more than 50 Iowa college and high school football players have been released.
Here is what to know about the 2026 NFL Draft and a breakdown of the draft projections for Iowa players, according to The Athletic’s “The Beast,” its annual comprehensive NFL Draft scouting guide.
Advertisement
When is the 2026 NFL draft?
The 2026 NFL draft will begin with the first round on Thursday, April 23. Rounds 2 and 3 occur the following day, and the draft will conclude on its third day with Rounds 4-7 on Saturday, April 25.
Pittsburgh — home of the Steelers — will host the 2026 NFL draft.
How did The Athletic grade Iowa college football players ahead of the 2026 NFL draft?
The Athletic’s “The Beast” report included rankings of players from Iowa, Iowa State, Northern Iowa, Drake, Grand View and Upper Iowa.
Gennings Dunker, guard: No. 5 out of 159 players at his position
Grade: 3rd round projection
Logan Jones, center: No. 3 out of 78 players at his position
Grade: 3rd-4th round projection
Max Llewellyn, defensive end: No. 18 out of 270 players at his position
Grade: 4th round projection
Beau Stephens, guard: No. 11 out of 159 players at his position
Grade: 4th-5th round projection
TJ Hall, cornerback: No. 24 out of 318 players at his position
Grade: 6th round projection
Kaden Wetjen, wide receiver: No. 30 out of 380 players at his position
Grade: 6th round projection
More: An ode to Kaden Wetjen and Drew Stevens, two Iowa football all-timers
Karson Sharar, linebacker: No. 24 out of 243 players at his position
Grade: 7th round projection
Drew Stevens, kicker: No. 3 out of 40 players at his position
Grade: 7th round-free agent projection
Mark Gronowski, quarterback: No.17 out of 99 players at his position
Grade: 7th round-free agent projection
Xavier Nwankpa, safety: No. 23 out of 271 players at his position
Grade: 7th round-free agent projection
Bryant Worrell, long snapper: No. 20 out of 48 players at his position
Hayden Large, tight end: No. 33 out of 156 players at his position
Aaron Graves, defensive tackle: No. 67 out of 249 players at his position
Ethan Hurkett, defensive end: No. 84 out of 270 players at his position
Jonah Pace, defensive tackle: No. 84 out of 249 players at his position
Seth Anderson, wide receiver: No. 87 out of 380 players at his position,
Jacob Gill, wide receiver: No. 106 out of 380 players at his position
Bryce George, guard: No. 107 out of 159 players at his position
Sam Phillips, wide receiver: No. 118 out of 380 players at his position,
Shahid Barros, cornerback: No. 195 out of 318 players at his position
Derek Anderson, tight end: No. 104 out of 156 players at his position
Blake Anderson, offensive tackle: No. 109 out of 146 players at his position
Bill Jackson, running back: No. 111 out of 213 players at his position
Mo Olowo, safety: No. 122 out of 271 players at his position
Caleb Frazer, linebacker: No. 177 out of 243 players at his position
Tucker Langenberg, linebacker: No. 193 out of 243 players at his position
Jonathan Cabral-Martin, cornerback: No. 198 out of 318 players at his position
Domonique Orange, defensive tackle: No. 6 out of 249 players at his position
Grade: 2nd-3rd round projection
Tyler Perkins, punter: No. 13 out of 40 players at his position
James Neal III, offensive tackle: No. 27 out of 146 players at his position
Jim Bonifas, center: No. 27 out of 78 players at his position
Tyler Miller, offensive tackle: No. 53 out of 146 players at his position
Tamatoa McDonough, defensive end: No. 56 out of 270 players at his position
Dylan Barrett, guard: No. 65 out of 159 players at his position
More: Iowa State football roster growing together from past experiences
Tyler Moore, tight end: No. 76 out of 156 players at his position
Cannon Butler, defensive end: No. 101 out of 270 players at his position
Tyler Maro, offensive tackle: No. 128 out of 146 players at his position
Eli Green, wide receiver: No. 185 out of 380 players at his position
Myles Mendesoon, defensive end: No. 205 out of 270 players at his position
Drake Bulldogs
Advertisement
Brett Welsing, long snapper: No. 17 out of 48 players at his position
Grand View Vikings
Jackson Waring, quarterback: No. 53 out of 99 players at his position
John Argo, linebacker: No. 56 out of 243 players at his position
Upper Iowa Peacocks
Mante Morrow, wide receiver: No. 142 out of 380 players at his position
Iowa natives playing elsewhere
These Iowa high school players finished playing college football outside the state but still earned spots in The Athletic’s “The Beast” draft guide.
KadynProctor (Alabama, Southeast Polk), offensive tackle: No. 4 out of 146 players at his position
Grade: 1st-2nd round projection
Eli Raridon (Notre Dame, Valley), tight end: No. 9 out of 156 players at his position
Grade: 4th round projection
Mosai Newsom (South Dakota, Waverly-Shell Rock), defensive tackle: No. 93 out of 249 players at his position
Nate Ewell (South Dakota, Waterloo West), linebacker: No. 88 out of 243 players at his position,
HenryLutovsky (Nebraska, Mount Pleasant), guard: No. 29 out of 159 players at his position
Jase Bauer (UT Martin, Ankeny), quarterback: No. 51 out of 99 players at his position
Harrison Waylee (Virginia, Urbandale), running back: No. 80 out of 213 players at his position
Noah Fenske (Southern Illinois, New Hampton), center: No. 26 out of 78 players at his position
TJ Bollers (California, Clear Creek Amana), defensive tackle: No. 60 out of 249 players at his position
Carter Hewitt (Illinois, South Hamilton), defensive tackle: No. 156 out of 249 players at his position
How to watch the 2026 NFL draft
Live coverage of the NFL draft can be found on ESPN, ESPN2, ESPN Deportes and the NFL Network. Coverage is also available on NFL+, ESPN Select, ESPN Unlimited and Fubo TV.
Thursday, April 23: Round 1 starts at 7 p.m. CT
Friday, April 24: Round 2 and Round 3 start at 6 p.m. CT
Saturday, April 25: Rounds 4-7 start at 11 a.m. CT
Watch the NFL Draft on ESPN+
Cooper Worth is a service/trending reporter for the Des Moines Register. Reach him at cworth@gannett.com or follow him on X @CooperAWorth.
House File 705 would fund nonprofit sexual assault forensic exam centers, aiming to improve care and evidence collection for survivors.
Advertisement
Iowa lawmakers advance bill to support sexual assault survivors
House File 705 would fund nonprofit sexual assault forensic exam centers, aiming to improve care and evidence collection for survivors.
Advertisement
COMPLAINT. HE’S SCHEDULED TO APPEAR IN COURT ON APRIL 17TH, LESS THAN TWO WEEKS REMAIN IN THE LEGISLATIVE SESSION HERE IN IOWA AS WE TAKE A LIVE LOOK FROM THE STATEHOUSE IN DOWNTOWN DES MOINES TODAY, A BILL TO EXPAND SERVICES FOR SEXUAL ASSAULT SURVIVORS IS MOVING FORWARD. HOUSE FILE 705 WOULD CREATE A GRANT PROGRAM TO SUPPORT NONPROFIT SEXUAL ASSAULT FORENSIC EXAM CENTERS ACROSS IOWA. SUPPORTERS SAY THE FUNDING WOULD HELP ENSURE VICTIMS HAVE ACCESS TO SPECIALIZED CARE AND EVIDENCE COLLECTION SERVICES. WHEN TYPICALLY OUR VICTIMS DON’T FEEL SEEN, THEY DON’T FEEL HEARD AND THEY DON’T FEEL RELIEVED TO JUST KNOW THAT TO MAKE IT THIS FAR, THE COMMUNITY DOES SEE THEM AND HEAR THEM. AND YOU KNOW, WE NEED YOUR HELP TO GET STARTED SO THAT WE CAN ENSURE THAT THOSE SERVICES ARE DELIVERABLE. YOU KNOW, WE CAN BUILD IT, BUT WE NEED WE NEED TO KEEP ACCESS OPEN AND AVAILABLE TO THEM BY BEING ABLE TO PROVIDE THAT. SO AND THE BILL PASSED
Advertisement
Iowa lawmakers advance bill to support sexual assault survivors
House File 705 would fund nonprofit sexual assault forensic exam centers, aiming to improve care and evidence collection for survivors.
Updated: 9:29 PM CDT Apr 8, 2026
Editorial Standards ⓘ
Advertisement
Iowa lawmakers are advancing House File 705, a bill that would create a grant program to support nonprofit sexual assault forensic exam centers across the state. The bill passed a House subcommittee today and now heads to a full committee for further debate and a vote. It would require the attorney general’s office to contract with an Iowa-based nonprofit specializing in caring for survivors of sexual abuse or assault. Shannon Knudsen, who founded the S.A.F.E. Center of Iowa, says the funding would help ensure victims have access to specialized care and evidence collection services. “We need your help to get started so that we can ensure that those services are deliverable,” Knudsen said to lawmakers. “We can build it, but we need to keep access open and available to them.” Because this bill was filed under Appropriations, it did not have to pass by specific deadlines to stay active. The current session is set to end on April 21, which is when per diem ends for lawmakers. A statewide budget has to be passed by both chambers before lawmakers gavel out.
DES MOINES, Iowa —
Iowa lawmakers are advancing House File 705, a bill that would create a grant program to support nonprofit sexual assault forensic exam centers across the state.
Advertisement
The bill passed a House subcommittee today and now heads to a full committee for further debate and a vote. It would require the attorney general’s office to contract with an Iowa-based nonprofit specializing in caring for survivors of sexual abuse or assault.
Shannon Knudsen, who founded the S.A.F.E. Center of Iowa, says the funding would help ensure victims have access to specialized care and evidence collection services.
“We need your help to get started so that we can ensure that those services are deliverable,” Knudsen said to lawmakers. “We can build it, but we need to keep access open and available to them.”
Advertisement
Because this bill was filed under Appropriations, it did not have to pass by specific deadlines to stay active. The current session is set to end on April 21, which is when per diem ends for lawmakers. A statewide budget has to be passed by both chambers before lawmakers gavel out.
Advertisement
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
Advertisement
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
Advertisement
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.kcci.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
Advertisement
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
Advertisement
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
Advertisement
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
Advertisement
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
Advertisement
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.kcci.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.kcci.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
Advertisement
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
OSAGE, Iowa (KTTC) – Utility and cooperatives across the state of Iowa are receiving millions of dollars in financial assistance from the federal government.
The money comes from the U.S. Department of Agriculture’s Rural Development.
Grant money totaling about $11.5 million in loans will be allocated to 13 projects, including two in Osage.
Heartland Power Co-op and Osage Municipal Utilities will receive $1 million each to support A to Z Drying Incorporated, an Osage manufacturing plant.
Advertisement
The funding will help the company acquire a 234,000 square-foot production and warehouse facility to expand its business.
The other Iowa projects receiving financial assistance include:
Iowa State University’s AgMRC Center
Receiving a $1.4 million grantthrough the Agricultural Marketing Resource Center Grants program to provide independent producers and processors with critical information needed to build successful value-added agricultural enterprises through the center’s website.
Corn Belt Power Cooperative
Receiving a $952,000 loanto provide a pass-through loan to Kinetic Technologies LLC. This project will enable the manufacturing business to construct a new facility in Algona, in Kossuth County, Iowa.
Central Iowa Power Cooperative
Receiving a $1 million loan to provide a pass-through loan to Continental Manufacturing Chemist Inc. in Huxley, in Story County, Iowa. This project will purchase equipment and software to help expand the company’s custom packaging business.
Southern Iowa Electric Cooperative Inc.
Receiving a $1 million loan to provide a pass-through loan to TSM Holding LLC/M3 Fabrication LLC. This project will purchase new powder coating equipment and construct a 56,000 square foot building expansion to house the company’s powder coating processes in Bloomfield, Davis County, Iowa.
North West Rural Electric Cooperative
Receiving a $1 million loan to provide a pass-through loan to Hemp Agra LLC. This project will purchase equipment for the industrial hemp processing facility in Rock Valley, Sioux County, Iowa. The equipment will process raw hemp into components used in the construction, textiles, composites, and pet care industries.
According to the USDA, six other Iowa companies will receive grant money through the Higher Blends Infrastructure and Incentive Program to help create infrastructure and expand the sale and usage of renewable fuels.
Rainbo Oil Company
Receiving a $589,648 grant to retrofit eight E15 dispensers, install four E15 dispensers, eight B20 dispensers, two ethanol storage tanks, and one biodiesel storage tank across five fueling stations located in Delhi in Delaware County, Iowa, and four stations in Dubuque in Dubuque County, Iowa.
Multi-County Oil Co.
Receiving a $411,108 grant to install two E15 dispensers, two E85 dispensers, two B20 dispensers, one ethanol storage tank, and one biodiesel storage tank at two fueling stations in North English and Keswick in Keokuk County, Iowa.
C&D Car Wash LLC
Receiving a $411,000 grant to install three E15 dispensers, one B20 dispenser, one ethanol storage tank, and one biodiesel storage tank at one fueling station in Bellevue in Jackson County, Iowa.
Butler Truck Oasis LLC
Receiving a $573,375 grant to install four E15 dispensers, four E85 dispensers, and five B20 dispensers at one fueling station in Shell Rock in Butler County, Iowa.
Prime Stop Inc.
Receiving a $238,500 grant to install three E15 dispensers and one ethanol storage tank at one fueling station in Melbourne, Marshall County, Iowa.
Molo Petroleum LLC
Receiving a $1.95 million grant to install 30 E15 dispensers, six B20 dispensers, four ethanol storage tanks, and four biodiesel storage tanks in Eldridge, Bettendorf, and Davenport in Scott County, Iowa; Hiawatha in Linn County, Iowa; Dubuque in Dubuque County, Iowa; and East Moline in Rock Island County, Illinois.
DES MOINES, Iowa — Sen. Elissa Slotkin, D-Mich., pitched herself here Tuesday as an advocate for Midwest pragmatism that she believes can help her party — and the country — navigatepast the stormy politics of President Donald Trump.
Using her keynote address at a Polk County Democratic Party dinner to underline Iowa’s political influence as a potential early contest in the 2028 presidential race, Slotkin urged her audience to vet White House hopefuls carefully.
“You guys are Iowa,” Slotkin said. “You’re going to see every Tom, Dick and Harry candidate come through here, right? I want you to ask what their offensive plan is, their Project 2029. What is their value proposition that they’re going to offer to the American people that is going to offer an alternative to what Trump is doing, rather than just pointing at him and saying, ‘He’s bad, he’s bad, he’s bad, he’s bad’?”
Slotkin, who has been building a national presence since she narrowly won her Senate seat in 2024, is viewed as a possible presidential candidate. Her speech ended a packed day of politicking for Slotkin in a state that previously held Democrats’ first presidential caucuses and is angling to host an early nominating contest again in 2028.
Over lunch in nearby Indianola, Slotkin plied a small focus group of Trump voterswith questions about what made an ideal presidential candidate. Later, in a private room at a craft beer bar blocks from the State Capitol, she campaigned alongside state Sen. Sarah Trone Garriott, a Democrat running to flip a Republican congressional seat.
“I feel a kinship with the rest of the Midwest,” Slotkin, whose recent travels have also taken her to places like Pittsburgh and Eau Claire, Wisconsin, responded when a reporter asked her about her decision to visit Iowa. “Us Midwestern Democrats need to stick together. It’s a tough thing to be a Midwestern Democrat, right?”
Advertisement
“Sometimes,” Slotkin added, “the national party forgets about the middle of the country or forgets about us until the federal elections or national elections.”
Pressed about whether she sees herself as a national candidate in 2028, Slotkin answered somewhat coyly — but pointedly did not rule out a presidential bid.
“You know, the minute you try and set foot in Iowa, the people kind of lose their minds a little bit,” she began, before she reiterated her commitment to the Midwest and desire to elevate Democrats in Republican-leaning districts.
“If I can be a part of that change — and now I’m a senator, so I have a bigger opportunity to do that — I’m here for that,” she added. “I’m not announcing anything. There’s no big, you know, whatever, announcement to be made. But, yeah, do I want to be in that national conversation and push my own party to be better, because I like winning and I don’t like when people who try to destroy democracy are in the White House? Yeah.”
In an interview, Slotkin went a bit further.
Advertisement
“I’m literally not arrogant enough to think that I’m the only person who can do this,” she said. “If there was someone who I really felt had what it takes to win, I’d get behind that person. I’m a new senator. I’m new to this level of elected office. But if we get through the midterms and I don’t see it emerging from other leaders as they start to announce and people decide and don’t decide, you know, I wouldn’t rule it out. But there’s a long road before we get there.”
Addressing the Polk County Democrats, Slotkin spoke of a “constant state of chaos and urgency” under Trump.
“Is there anyone else,” she asked, “who, every couple of days, just needs to, like, check out and watch bad trash television?”
Democrats, Slotkin said in her remarks, need to have “an honest conversation” about their future and how they can win again in tough states like Iowa, which hasfavored Trump in three straight elections after having backed President Barack Obama twice.
“You know, we used to talk about are you a progressive or are you a moderate,” Slotkin said. “That’s not the debate anymore. The debate is not between progressive and moderate. It’s fight or flight.”
Advertisement
“There are plenty of people that I serve with who are on Team Flight,” she added. “And I will tell you that I am a good Midwestern Democrat. I fall more on the pragmatic and moderate side of the house, but I am on Team Fight 100%.”
Trump last year accused Slotkin and other Democratic lawmakers of “seditious behavior” — “punishable by death,” in his words — after they posted a video urging military and intelligence officers to “refuse illegal orders” from the Trump administration. Slotkin received a bomb threat at her home following Trump’s accusation.
Trump’s Justice Department, meanwhile, tried but failed to secure indictments against Slotkin and her colleagues. After her event here with Trone Garriott, Slotkin, a former CIA analyst and Defense Department aide, weighed in on Trump’s threat earlier in the day to launch a destructive attack on civilian infrastructure in Iran.
“I just know,” Slotkin said, “as someone who literally made a video in November telling uniformed military that if they’re asked to do something illegal, they have a responsibility to push back, right, according to the Uniform Code of Military Justice — we made that video for moments exactly like this.”
But Slotkin’s eagerness to present herself as a reasonable Midwesterner who can talk to people on both sides of the political spectrum was the more prevalent theme of her day in Iowa.
Advertisement
“If you’re in this room, I don’t know if you’re a Democrat or a Republican or an independent, but we’re Midwesterners,” Slotkin said at the Trone Garriott event, which focused on health care affordability. “We know that our neighbors often vote differently than we do, right? … My dad was a lifelong Republican, my mom a lifelong Democrat. It was totally normal when I was growing up to do that. We were more likely to fight Michigan versus Michigan State than Democrat versus Republican.”
Slotkin then took a dramatic bow and cheered the Michigan Wolverines’ victory Monday night before in the NCAA men’s basketball championship.
“We’ll win it pretty, we’ll win it messy,” Slotkin said. “But we won it.”
Later, at the dinner, Slotkin praised Trone Garriott. “It is nice,” Slotkin said, “to watch another Midwestern badass woman in action.”
Speaking to reporters after their joint event, Trone Garriott emphasized why she found Slotkin’s visit significant.
Advertisement
“It means a lot to me as a Democrat that has consistently won in Republican districts to have a Democrat that has consistently won in Republican districts to show up and support me,” she said. “People are upset with the political system as it is. They’re mad at both parties for good reason.”
That type offrustration wason the menu at the focus group lunch organized by Majority Democrats, a political organization that Slotkin and others are using to advance a new course for their party. The five participants had responded to an ad seeking open-minded potential swing voters and were paid $200 for their time.
Slotkin introduced herself as a senator from Michigan but avoided mention of her political affiliation until the end. As she took small bites from her turkey sandwich, she conversationally surveyed the three women and two men seated at her table. Her questions ranged from open-ended — “What’s your hot take?” she asked them twice — to precise.
“If you could build a candidate in a test tube to be your ideal,” she wondered at one point, “what would that look like? How could someone say, ‘OK, I’m going to restore your faith’?”
And then, probing why they supported Trump over then-Vice President Kamala Harris, Slotkin asked: “What would have gotten you to actually consider a Democrat?”
Advertisement
The people around the table said they wanted a candidate who is bold but also kind and genuine. And they preferred someone who is independent and doesn’t vote in lockstep with their party. One of the men, Ed Klavins, a retiree from Urbandale, grumbled about how Harris infamously said she couldn’t think of anything she would have done differently from President Joe Biden.
“I remember,” Slotkin said, “that exact moment.”
Klavins, who cited political commentator Bill Maher and Sen. John Fetterman of Pennsylvania as Democrats he admires, told reporters after the lunch that he found Slotkin genuine.
“I liked her,” he said.
Later, in her interview with NBC News, Slotkin said she didn’t believe there was one moment that doomed Harris’ campaign.
Advertisement
“But there were certainly certain ads and certain appearances that I remember, like, stopping in my tracks,” she said. “And I remember that one, and I just said, ‘That’s not going to work.’”