I participated also, and enjoyed the hackathon itself. I wasn't expecting to win. I expected the winner to be someone that had a suitable product that was ready to launch around the same time as the hackathon was announced, and decided to seize the moment for some PR. This is more or less what happened. I think what is leaving a bad taste is that I didn't expect that it would done so brazenly.
The problems in my mind aren't about unfair judging (all judging is biased), but rather that:
* The winning company had clearly been started long before the permitted start date.
* It took less than an hour for this to be 'proved'; Salesforce obviously can't check compliance on every team, but not double-checking the five finalists seems foolish.
* The smoking gun was a demo Upshot gave at a Salesforce meetup. One of the two company founders had worked at Salesforce for 9 years until earlier this year. There's no way any sensible verification could have missed that they'd been working on this for a while. Asking a few of his former colleagues, for example, would likely have revealed the truth.
* Salesforce haven't yet acted to remedy this; which makes them appear complicit in it. I attribute their behavior to incompetence rather than malice. If it was a total fix from the start, there's no reason to exclude projects started before the hackathon in the rules.
The Upshot product itself looks fairly good, so I feel sorry for them in that they could do even better financially if they hadn't won. But not that sorry, given they have a million dollars cash-in-hand :-)
To be fair to Salesforce, their million dollar prize seems to have backfired rather spectacularly with the very audience they were trying to win over. They are probably more annoyed than anyone, and are probably having to tread very carefully for legal reasons. Even if they reclaimed the prize and gave it to #2, it seems that many of the top 5 may also not be entirely above suspicion, and they would want to be doubly-sure of those entries. They'd also presumably have to figure out who was #6 and give them the (new) 5th place prize.
All in all, a major mess.