1. A computer-implemented method comprising: prompting a first user to perform at least one exercise during a workout session; monitoring with a monitoring device the first user performing the at least one exercise; generating, by a processor, a first virtual avatar of the first user based on data captured by the monitoring device; generating a first virtual shadow for the first virtual avatar that is based on attributes relating to the first user; receiving second user data corresponding to a second user for generating a second virtual avatar and a second virtual shadow, wherein the second virtual avatar is based on monitoring of the second user performing the at least one exercise and the second virtual shadow is based on attributes relating to the second user; and displaying simultaneously on a display device the first and second virtual avatars and the first and second virtual shadows.