1. A computing device for providing speech recognition with local and remote feedback loops, the computing device composing: a communications device configured to communicate with a remote system developer over a communications network; one or more processors; and a memory storing instructions that when executed by the one or more processors, cause the computing device to perform a method comprising: collecting user data associated with a user, wherein the user data includes audio by the user and textual data from user generated documents; filtering the collected data at distinct levels for local and generic models to protect private data; updating one or more local models with the user data filtered at the local model level, each local model comprising at least one of a local acoustic model that models how phonemes sound or a local language model that models how words fit together to form sentences; providing, over the communications network, user data filtered at the generic model level to the remote system developer to enable the remote system developer to update one or more generic models comprising at least one of a remote acoustic model that models how phonemes sound or a remote language model that models how words fit together to form sentences; receiving speech inputs; and recognizing, by a speech recognition system, the speech inputs based at least in part on the updated one or more local models and the updated one or more generic models.