DES MOINES, Iowa — Give Joe Walsh some credit. On Thursday night here in Iowa, the former GOP congressman spent a couple of hours outside President Trump's rally at Drake University, working the line to talk to Republicans who passionately support the same president Walsh wants to defeat. On Friday, Walsh found himself in a wildly different environment, fielding questions from Democrats about healthcare, climate change, student loans, and more at the offices of a group called Urban Dreams, which says it seeks to "uplift underserved and underrepresented people."

On one night, Walsh was with Republicans who agreed with him on most issues except his opposition to Trump. On the next night, he was with Democrats who disagreed with him on most issues except his opposition to Trump. He is a man without a home as the Iowa caucuses approach.

By the way, there actually will be Republican caucuses across Iowa, although no one pays much attention to them, since Trump will win in a landslide. Walsh will be in the mix, along with former Massachusetts Gov. William Weld, in a mutual, doomed effort to bring down the president.

When Walsh introduces himself to an audience, he peppers his presentation with shots at Trump. It's standard Resistance boilerplate: The president is fundamentally unfit for office, stupid — "We've got an idiot in the White House" — a racist, a bigot, a liar, a stooge of Russia. And the Republican Party has lost all moorings, undergoing an invasion-of-the-body-snatchers transformation, worshipping its new leader.

Someone in the GOP had to challenge Trump, Walsh said Friday. "No other Republican stepped up," he told the Urban Dreams group. "No other Republican stepped up to say, 'This is not my Republican Party.' OK? I'm not cruel, I'm not a bigot, I'm not a racist, I don't lie, I don't invite Russia and China and Ukraine to screw with our elections. This is not my Republican Party."

"My party, the Republican Party, is not a party — it is a cult," Walsh continued. "It is a bunch of elected officials, it is Fox News, and conservative talk radio ... and everybody in these institutions, they're bowing down, baby, and they're worshipping Donald Trump."

By talking that way, Walsh tried to establish anti-Trump bona fides with his audience. But he also hit them hard with a confession. "I voted for Trump in 2016," he told the group. "If I could take that vote back, I would. I made a mistake."

Finally, Walsh told the Urban Dreams people that since he realized the truth about Trump, he will be with them in November, no matter what happens. "I'd never vote for Trump again," he said. "Any of these Democrats would be better for this country than Donald Trump in the White House."

"Any" Democrat includes Bernie Sanders, or Elizabeth Warren, or whoever the party chooses. Whatever happens, Walsh told the group, he will be on board for a Democratic president.

But on board for what, precisely? Urban Dreams has had 14 Democratic candidates attend similar events this caucus season. After some opening remarks, the Urban Dreams people ask the candidate a set of questions on basic Democratic priorities. With all the other candidates (Biden, Sanders, Warren, Buttigieg, the rest), that was no real problem. Walsh was different. He did not agree — actually, solidly opposed — many of the principles the Democratic audience held dear.

Question: Do you support the Affordable Care Act? Walsh said he did not, that he would get rid of Barack Obama's signature achievement and replace it with something better.

Question: Do you support raising the minimum wage? Walsh said he did not even support the federal government setting a minimum wage, much less raising it.

Question: What are your plans for "equal access to the ballot box"? Walsh said he believed strongly in Voter ID.

Question: Do you support using public funds for private schools? Walsh said yes, he did, and he supports school choice.

Question: Would you relieve student debt? Walsh said no.

Every answer was anathema to most, if not all, of the people around the table. "I know I'm not in a room full of Republicans," Walsh said at one point, as if anyone needed that spelled out. Although Walsh found some common ground with the group on a few issues — climate change and criminal justice reform — the differences were enormous.

Walsh also faced a voter familiar with Walsh's history of intolerant statements, particularly toward Muslims. They weren't that long ago. For example, as recently as December 2016, Walsh tweeted that Obama was a Muslim.

"I'm just curious if you think there's a difference between being a racist and constantly saying racist things, for example, when you said that Muslims should not be in the United States because they want to kill us, or when you falsely called Obama a Muslim," the voter said.

"I think we're all a little bit racist, period," Walsh responded, adding that Trump was really, really racist. As for his own past, Walsh admitted that a look at his record would reveal "30 or 40 tweets that would piss you off."

"More than that," the man answered.

After the meeting, I asked Walsh how in the world he could connect with voters with such radically different ideas. Not connect on a human level — Walsh could clearly do that, and everyone was cordial with one another — but how could he convince them to support him?

"Honesty," Walsh replied. "And speaking to them, and then letting them know where I stand, and then trying to start a conversation. But not coming here and pandering."

Walsh was big on starting conversations. Any time someone in the audience fundamentally disagreed with him, his answer was that the two of them should start a conversation. It sounded conciliatory, but it is hard to see how it will result in any votes on Monday night.

Of course, Walsh is not running for the Democratic nomination. Although this Democratic group was happy to welcome him for a talk, it was highly unlikely to ally itself with him. So I asked Walsh how things went the night before, talking to his own party, to Republicans, waiting to see the president.

"We went outside in the afternoon for about two hours, talked to about 100 supporters," Walsh said. "A lot of them recognized me. Most of them said, 'Joe, come on, you're a good conservative, but why are you challenging our president?' That's most of what I got, and then I got some anger. But I was surprised — and maybe they're feeding me BS — but there were a number of guys in line who said they're going to caucus, but they don't know who they're going to be caucusing for yet. I just went to listen to them. So it was worth doing."

Here's a prediction. A tiny — extremely tiny — number of people who attended the Trump rally will end up voting for Joe Walsh. Maybe none of them will. Of course, Walsh knows that. He knows he will not win the Republican nomination. He knows he will not come anywhere within a million miles of winning the nomination. So a woman at the meeting asked him how he would define success in his quixotic project. What would it mean to succeed?

"I want you to wake up the morning after Iowa and say darn it, Walsh did pretty well," he said. "I don't know what that number is, but I want to surprise Republicans around the country with a pretty good return."

In the end, Walsh will decide what constitutes a "pretty good return" — even as the president heads to New Hampshire with a lopsided victory in Iowa under his belt.

