Applications that perform continuous sensing on mobile phones have the potential to revolutionize everyday life. Examples range from medical and health monitoring applications, such as pedometers and fall detectors, to participatory sensing applications, such as noise pollution, traffic and seismic activity monitoring. Unfortunately, current mobile devices are a poor match for continuous sensing applications as they require the device to remain awake for extended periods of time, resulting in poor battery life. Sidewinder is a new approach towards offloading sensor data processing to a low-power processor and waking up the main processor when events of interest occur. Sidewinder differs from other heterogeneous architectures in that developers are presented with a programming interface that lets them construct application specific wake-up conditions by linking together and parameterizing predefined sensor data processing algorithms. Sidewinder achieves performance that is comparable to approaches that provide fully programmable offloading, but does so with a much simpler programming interface that facilitates deployment and portability.