1. A computer program product for providing interactive content, the computer program product comprising computer executable code embodied in a non-transitory computer readable medium that, when executing on one or more computing devices, performs the steps of: receiving an audio component of a presentation of time-based media at a client device; sampling and processing the audio component at the client device to provide representative data including a plurality of hashes that non-uniquely identify a number of sequential, overlapping samples of the audio component; transmitting the representative data to a remote server; receiving an identification of the presentation and a time offset within the presentation from the remote server, wherein the time offset identifies a temporal location within the presentation; maintaining synchronization to the presentation by periodically transmitting to the remote server the identification of the presentation and an addititional sequence of hashes based upon the audio component of the presentation; and receiving at the client device interactive content synchronized to the presentation based upon the time offset.