An interactive exercise system comprising; an exercise machine having a display module able to present videos, a three-dimensional camera system, and local processing system able to provide pose estimation based on data from the three-dimensional camera system; wherein the exercise machine includes: a mechanical support system, the display module being held by the mechanical support system; characterised in that the exercise machine further includes: a mirror element attached to at least partially cover the display module; at least one movable arm connected to the mechanical support system that includes at least one force-controlled component engageable by a user; and a computing device coupled to the at least one force-controlled component and the three-dimensional camera system, the computing device programmed to: receive historical exercise data from the three-dimensional camera system; receive an exercise script including scripted control inputs for the at least one force-controlled component; process the historical exercise data using a machine learning model to obtain a result; modify the exercise script according to the result; and control the force-controlled component according to the exercise script. an exercise machine having a display module able to present videos, a three-dimensional camera system, and local processing system able to provide pose estimation based on data from the three-dimensional camera system; wherein the exercise machine includes: a mechanical support system, the display module being held by the mechanical support system; characterised in that the exercise machine further includes: a mirror element attached to at least partially cover the display module; at least one movable arm connected to the mechanical support system that includes at least one force-controlled component engageable by a user; and a computing device coupled to the at least one force-controlled component and the three-dimensional camera system, the computing device programmed to: receive historical exercise data from the three-dimensional camera system; receive an exercise script including scripted control inputs for the at least one force-controlled component; process the historical exercise data using a machine learning model to obtain a result; modify the exercise script according to the result; and control the force-controlled component according to the exercise script. a mechanical support system, the display module being held by the mechanical support system; characterised in that the exercise machine further includes: a mirror element attached to at least partially cover the display module; at least one movable arm connected to the mechanical support system that includes at least one force-controlled component engageable by a user; and a computing device coupled to the at least one force-controlled component and the three-dimensional camera system, the computing device programmed to: receive historical exercise data from the three-dimensional camera system; receive an exercise script including scripted control inputs for the at least one force-controlled component; process the historical exercise data using a machine learning model to obtain a result; modify the exercise script according to the result; and control the force-controlled component according to the exercise script. a mirror element attached to at least partially cover the display module; at least one movable arm connected to the mechanical support system that includes at least one force-controlled component engageable by a user; and a computing device coupled to the at least one force-controlled component and the three-dimensional camera system, the computing device programmed to: receive historical exercise data from the three-dimensional camera system; receive an exercise script including scripted control inputs for the at least one force-controlled component; process the historical exercise data using a machine learning model to obtain a result; modify the exercise script according to the result; and control the force-controlled component according to the exercise script. receive historical exercise data from the three-dimensional camera system; receive an exercise script including scripted control inputs for the at least one force-controlled component; process the historical exercise data using a machine learning model to obtain a result; modify the exercise script according to the result; and control the force-controlled component according to the exercise script.