What is TrainingPeaks?

TrainingPeaks is a complete web, mobile and desktop solution for enabling smart and effective endurance training.