Update: 12:50 p.m. EST

Democratic National Committee Chairman Tom Perez called for a recanvass of Iowa's caucus results, saying, "Enough is enough."

Original story

The chaos resulting from the Iowa caucuses had New Hampshire officials trying to reassure voters there would be no repeat of the vote-counting snafu in next week’s first-in-the-nation primary.

"We've kept it simple and I've encouraged the Legislature, all my years, to keep it simple -- keep the voting process simple," Secretary of State Bill Gardner said.

Charles Stewart, who runs MIT’s election data and science lab, told Pro Publica primaries are run by administrators while caucuses are run by “amateurs,” and that makes all the difference.

“Even in the smallest of jurisdictions you run a lot of elections — you have contingency plans. The parties, bless their hearts, they don’t do this very much and that’s the bottom line,” he said.

Democrats on Thursday finally had a clear picture of who won the Iowa caucuses: South Bend (Ind.) Mayor Pete Buttigieg, the youngest candidate at 38, Sen. Bernie Sanders, 78, finished in a virtual tie, separated by just 0.1 percentage point.

With 97% of the precincts counted, Buttigieg racked up 26.2% of the available state delegates, collecting 42,235 votes, followed by Sanders with 26.1% of the delegates and 44,753 votes.

The next tier included Sen. Elizabeth Warren at 18.2%, former Vice President Joe Biden at 15.8% and Sen. Amy Klobuchar at 12.2%. The field then drops off drastically, with businessmen Andrew Yang scoring just 1% and Tom Steyer at 0.3%. The rest of the field – Sen. Michael Bennet, New York Mayor Michael Bloomberg, Rep. Tulsi Gabbard and former Massachusetts Gov. Deval Patrick – gaining no delegates. Bloomberg did not do any campaigning in the state, concentrating his efforts on delegate-rich Super Tuesday.

The results were delayed because of the failure of a vote-counting app that didn’t work as advertised. The snafu drew ridicule from Republicans including President Trump, who captured 97% of the GOP caucus vote, and Sen. Lindsey Graham, R-S.C., who floated conspiracy theories. Trump campaign manager suggested on Twitter that the process had been rigged.

The process was complicated. There’s a first round of voting that requires candidates to reach a certain support level – at least 15% depending on how many candidates are registered in a particular precinct. Those who supported a candidate meeting the threshold filled out preference cards and then could go home. Then there’s a second round of voting that allowed voters to throw their support to one of the threshold candidates or to try to get one of the losing candidates to the threshold level. After that there’s a formula for awarding state delegate equivalent. This year’s rules required all three numbers to be reported.

Pro Publica said Iowa Democrats made multiple mistakes: introducing a new app without sufficient testing, failing to train precinct captains adequately, adding complexity to reporting requirements and failing to hire enough people to man results phone lines.

The caucuses have been plagued by problems in the past. Mitt Romney was declared the winner of the Republican caucuses in 2012, but a recount two weeks later showed Rick Santorum was the actual winner.

State Democratic party leaders blamed compatibility problems between the app and the party’s database. But there was an additional complication: Bloomberg reported Trump supporters flooded the phone lines after the number accidentally was posted online.

Overall, party officials said the Shoestring app, developed by former staffers from Hillary Clinton’s failed 2016 presidential run, collected data correctly but only reported out partial results, blaming the glitch on a coding issue.

“This issue was identified and fixed. The application’s reporting issue did not impact the ability of precinct chairs to report data accurately,” the party said in a statement.

“Because of the required paper documentation, we have been able to verify that the data recorded in the app and used to calculate state delegate equivalents is valid and accurate.”