blog frontend: timeline