Four months ago, Joey Bosa was written off by many people as a bust.

It wasn’t just fans or people with fast Twitter thumbs. Bosa, despite having never played a game, was being dismissed as an NFL player because of a rookie contract dispute and an early-season injury.

Needless to say, the former Ohio State All-American proved those people wrong. On Saturday night, Bosa took home NFL Defensive Rookie of the Year honors with an overwhelming 74 percent of the votes.

That happened despite the fact that Bosa missed the first month of the season. He racked up 12.5 sacks and was one of the top pass-rushers in the NFL.

So it was only fitting that Bosa posted on Instagram that this was “for the haters.” He had a lot of them.

Here were some of the worst offenders from regular people on Twitter:

The San Diego Union-Tribune did a story in Sept. about how Bosa’s “bust potential increased with every passing game.” Even better, it quoted unnamed NFL general managers.

Their quotes were all sorts of wrong:

“His rookie season is over,” one NFC general manager said. Another GM predicted Bosa “would barely get something from his rookie year.”

The bottom-line, consensus view that Freeman reported: Bosa is unlikely to “make any significant contributions.”

The Union-Tribune had this epic “man on the street” interview in the middle of his holdout:

Fox Sports radio’s “JT The Brick” even blamed Bosa for the Chargers losing a game to the Kansas City Chiefs in September. That was before he ever played a game.

And some, like SB Nation, also jumped on that train before he ever suited up.

Or plenty of pundits like CBS Sports’ Doug Gottlieb, who railed on Bosa for doing something “beyond stupid” by holding out:

ESPN’s Ryan McGee also looked at why Bosa could be “too risky” to draft No. 1 overall or even as a high first-round pick. McGee wasn’t alone in being skeptical of Bosa from the suspension in 2015 to the holdout in 2016.

Well, thank goodness Bosa finally signed that contract.