Smart trainer