What happens if we get a botched response and `project["published_on"]` is `nil`? Maybe call `#to_i` on it?