One of the most thrilling three-week races of the year, the Giro d’Italia is now over. This race, unlike the Tour de France, stays exciting until the very last day, and Dutch bike racing fans can’t come away disappointed with Tom Dumoulin‘s second place this year. In case you are simply disappointed that the race has finished, though, luckily we can still look back at the highlights and photos—and, thanks to Chad Haga, we can (re)live the race through an alternative medium. Tweets.

Haga, a rider for Team Sunweb, tweeted a daily summary of the race, with almost haiku-like brevity. In retrospect, these tweets give a fascinating overview of the most significant events of each day’s racing. We have made a selection of his “over-simplified stage report.”

Stage 1 — Dumoulin does it

Dumoulin, the winner of the Giro d’Italia in 2017, once again shows us all that he is the fastest.

Stage 12 — Unexpected events

The GC contenders were hoping for a relatively relaxed day, ending in a sprint. It turned out differently.

Stage 13 — Expected events

A stage which went by the book.

Stage 14 — The Legendary Zoncolan

Chris Froome, the leader of Team Sky, wins on this dreaded of all climbs.

Stage 18 — Adam Yates is human

The first stage during which Adam Yates showed vulnerability.

Stage 19 — Froome’s solo attack

Froome shows what it takes by attacking alone, 80 kms from the finish, and winning.

Stage 20 — Hand-to-hand combat

Dumoulin has only one more chance to claw back the 40-second deficit with Chris Froome, and pulls out all the stops during this last real stage.

Stage 21 — Roaming around Rome

Giro d’Italia 2018

Ok then, just one more, because we can’t get enough of Haga’s amusing synopses: the entire Giro 2018 in one tweet.