A system for providing electrical stimulation to a user, the system comprising: a pulse generator structurally configured to generate electrical pulses in response to execution of a stimulation program; one or more pads (201, 203) in communication with the pulse generator, the one or more pads (201, 203) structurally configured to attach to the user and to transmit the electrical pulses to stimulate the user according to the stimulation program; and a processor and a memory, the memory storing non-transitory computer executable code embodied in a non-transitory computer readable medium, that, when executed by the processor, performs the steps of: communicating with one or more application programs linked to the user via an application programming interface, the one or more application programs including at least one of a health-related application program and a fitness-related application program; obtaining information regarding the user from the one or more application programs, the information related to one or more of motion of the user and health of the user; analyzing the information regarding the user; producing a tailored stimulation program for the user based on analysis of the information, the tailored stimulation program including one or more of a customized pulse width and a customized duty cycle configured to increase blood flow for muscle recovery; and executing the tailored stimulation program with the pulse generator and the one or more pads. a pulse generator structurally configured to generate electrical pulses in response to execution of a stimulation program; one or more pads (201, 203) in communication with the pulse generator, the one or more pads (201, 203) structurally configured to attach to the user and to transmit the electrical pulses to stimulate the user according to the stimulation program; and a processor and a memory, the memory storing non-transitory computer executable code embodied in a non-transitory computer readable medium, that, when executed by the processor, performs the steps of: communicating with one or more application programs linked to the user via an application programming interface, the one or more application programs including at least one of a health-related application program and a fitness-related application program; obtaining information regarding the user from the one or more application programs, the information related to one or more of motion of the user and health of the user; analyzing the information regarding the user; producing a tailored stimulation program for the user based on analysis of the information, the tailored stimulation program including one or more of a customized pulse width and a customized duty cycle configured to increase blood flow for muscle recovery; and executing the tailored stimulation program with the pulse generator and the one or more pads. communicating with one or more application programs linked to the user via an application programming interface, the one or more application programs including at least one of a health-related application program and a fitness-related application program; obtaining information regarding the user from the one or more application programs, the information related to one or more of motion of the user and health of the user; analyzing the information regarding the user; producing a tailored stimulation program for the user based on analysis of the information, the tailored stimulation program including one or more of a customized pulse width and a customized duty cycle configured to increase blood flow for muscle recovery; and executing the tailored stimulation program with the pulse generator and the one or more pads.