The morning after the Iowa caucus, the political world is a frazzled mess. The results of the caucus have been indefinitely delayed, thanks to a series of cascading technical failures. Analysts are already predicting that the fiasco will cost Iowa its privileged place as the first state to hold its primary. It’s a major public failing of the state’s election infrastructure, with basic technical errors compounding into a system-wide fiasco. And for anyone nervous about how US election infrastructure will hold up in 2020, it’s a terrifying preview of what’s to come.

So far, much of the attention has focused on the app that Iowa Democrats were using to report their results. According to a statement by the Iowa Democratic Party on Tuesday morning, the app ended up reporting faulty data to the central headquarters, requiring a ground-up audit of the system to ensure the accuracy of the results.

“While the app was recording data accurately, it was reporting out only partial data,” the party said in a statement. “We have determined that this was due to a coding issue in the reporting system. This issue was identified and fixed.”

Users reported abrupt crashes

It’s an embarrassing technical failure, made worse by the secrecy that has surrounded the app from the beginning. Security experts raised concerns about the app’s security in the days leading up to the caucus, and even as votes were rolling in, it was still unclear who had actually developed the app. (One quickly debunked rumor held that Microsoft had been involved, based on its work in 2016.) Financial documents unearthed by HuffPost suggest it was made by a small digital firm called Shadow, which received $60,000 from the Iowa Democratic Party in the run-up to the caucus. But the party has yet to confirm those reports. Shadow hasn’t made a public statement, and its most public investor, Acronym, is pleading ignorance.

Still, anecdotal reports suggest the app was performing poorly even before results were reported. Users reported abrupt crashes and some precinct chiefs seem to have mistaken the app for malware on installation. (“A lot of people were like, ‘I’m getting a virus on my phone’ and just quit it,” one volunteer told The New York Times.) As many observers noted, $60,000 is not a lot of money to build an iOS app, Android app, and integrated data management system, which may explain why the end result was so rickety.

At the same time, Iowa’s problems were much bigger than bad software. According to the Times’ reporting, most of the volunteers simply ignored the app, planning to call in their results as usual. When they tried, they found it took hours to get through, as the state party headquarters was expecting data to come in primarily through the app. The app was buggy enough that even those who tried it gave up fairly quickly and moved back to phones. With 1,681 precincts trying to report votes, the result was a tangle of misreporting that could take days to sort through.

While the tech problems get solved, the broader political landscape has come apart at the seams

The process was also more complex than it’s ever been. The Democratic Party instituted a number of reforms in the wake of 2016, some of which put unique demands on the Iowa caucus system specifically. For the first time, precincts were required to bind Iowa delegates directly to votes, part of the broader shift away from superdelegates that had grown controversial after the Sanders-Clinton primary. The result for Iowa was that precincts were reporting three sets of results at once: the initial preference vote, a subsequent runoff vote, and a “state delegate equivalent” count that served as a proxy for the total delegates awarded. It was an unwieldy mashup of national requirements, and it put immense additional strain on an already overloaded reporting system.

Taken together, it starts to look less like a single tech failure and more like a pileup of compounding disasters: the overloaded phone lines, the underbaked app, the elaborate vote totals, all piled on top of a caucus system that has been eccentric to the point of dysfunction for nearly 50 years.

There’s no sign that any of this chaos was deliberately inflicted, but it’s hard to say what would look different if it were. For years, cybersecurity experts have raised the alarm about attacks on election infrastructure, often warning that would be enough to simply call the results into question. Even if the ultimate voting totals weren’t changed, an attack could damage the credibility of the process, leaving the opposing sides to tear each other apart. Elections are built on political conflict, and it may only take a small nudge to turn that conflict into an attack on the system itself.

Again, that’s not what happened here: there’s no indication this was a deliberate cyberattack or that any infrastructure was compromised. All of the party’s statements suggest this was entirely a reporting problem, with intact voting tallies maintained at each precinct. But while the reporting process gets hammered out, the broader political landscape has come apart at the seams. One candidate has already delivered an apparent victory speech, playing off the uncertain totals. Republican campaign officials are calling the results rigged. Political media is already treating the delay as a crisis unto itself. When the results are finally delivered, the candidates will have plenty of grounds to dispute them. The basic function of the caucus — binding together warring interests into a mutually respected process with a clear and unambiguous result — has failed.