A method, comprising: receiving sensor data from a sensor of a device during a first window of time that at least partially overlaps a gesture time of a gesture; receiving additional sensor data from the sensor of the device during a second window of time that at least partially overlaps the gesture time of the gesture; providing the sensor data and the additional sensor data as inputs to a machine learning model, the machine learning model having been trained to output, while the gesture is being performed by a user of the device and prior to completion of the gesture, a predicted gesture, a predicted start time of the gesture, and a predicted end time of the gesture, based on the sensor data and the additional sensor data; determining the predicted gesture based on an output from the machine learning model that is based on the sensor data from the first window of time and based on an additional output of the machine learning model that is based on the additional sensor data from the second window of time, wherein determining the predicted gesture based on the output from the machine learning model comprises: aggregating a first predicted start time from the machine learning model that is based on the sensor data from the first window of time and a second predicted start time from the machine learning model that is based on the additional sensor data from the second window of time to determine a final predicted start time for the gesture; and aggregating a first predicted end time from the machine learning model that is based on the sensor data from the first window of time and a second predicted end time from the machine learning model that is based on the additional sensor data from the second window of time to determine a final predicted end time for the gesture; performing, in response to determining the predicted gesture, a predetermined action on the device; and adjusting a size of an input buffer for the machine learning model based on the final predicted start time and the final predicted end time. receiving sensor data from a sensor of a device during a first window of time that at least partially overlaps a gesture time of a gesture; receiving additional sensor data from the sensor of the device during a second window of time that at least partially overlaps the gesture time of the gesture; providing the sensor data and the additional sensor data as inputs to a machine learning model, the machine learning model having been trained to output, while the gesture is being performed by a user of the device and prior to completion of the gesture, a predicted gesture, a predicted start time of the gesture, and a predicted end time of the gesture, based on the sensor data and the additional sensor data; determining the predicted gesture based on an output from the machine learning model that is based on the sensor data from the first window of time and based on an additional output of the machine learning model that is based on the additional sensor data from the second window of time, wherein determining the predicted gesture based on the output from the machine learning model comprises: aggregating a first predicted start time from the machine learning model that is based on the sensor data from the first window of time and a second predicted start time from the machine learning model that is based on the additional sensor data from the second window of time to determine a final predicted start time for the gesture; and aggregating a first predicted end time from the machine learning model that is based on the sensor data from the first window of time and a second predicted end time from the machine learning model that is based on the additional sensor data from the second window of time to determine a final predicted end time for the gesture; aggregating a first predicted start time from the machine learning model that is based on the sensor data from the first window of time and a second predicted start time from the machine learning model that is based on the additional sensor data from the second window of time to determine a final predicted start time for the gesture; and aggregating a first predicted end time from the machine learning model that is based on the sensor data from the first window of time and a second predicted end time from the machine learning model that is based on the additional sensor data from the second window of time to determine a final predicted end time for the gesture; performing, in response to determining the predicted gesture, a predetermined action on the device; and adjusting a size of an input buffer for the machine learning model based on the final predicted start time and the final predicted end time.