1. A computer-implemented method comprising: receiving, using one or more computing devices, input from a user entered via an input device; determining, using the one or more computing devices, a gesture and one or more attributes associated with the gesture based on the input; matching, using the one or more computing devices, the gesture to a gesture model for the user using the one or more attributes, the gesture model being initially patterned after how a segment of users input the gesture to perform an action; receiving, using the one or more computing devices, one or more subsequent inputs from the user entered via the input device to perform the action; determining, by the one or more computing devices, based on the one or more subsequent inputs, whether the gesture model is appropriate for the user; and responsive to determining the gesture model is not appropriate for the user, automatically adjusting, using the one or more computing devices, the gesture model by self-adapting the gesture model to improve overall experience for the user in a future iteration.