Athletes seek to constantly improve their performances pushing their limits and overwork is often the direct consequence of this behavior. This is not a common problem for professionals, who usually are followed by a coach, but it is a growing phenomenon in amateur sports, which drives people to get injured because of overtraining or incorrect movements. Meantime, advances in artificial intelligence enabled the creation of new tools increasingly capable of understanding the complexity of our world. We therefore propose a novel e-coaching system for road cycling athletes, able to automatically follow and tailor their training plans. This paper describes the design of the machine learning algorithm, its model based on reinforcement learning and the metrics that were adopted for the scoring system. Finally, we report our tests, which show that the virtual coach already can compete with human experts in making a proper personalized training plan.