Mobile devices increasingly are first-class computing devices, generating large amounts of data. Searching and sharing data securely across multiple devices can be a significant challenge. We have built Contrail, a communication abstraction for P2P communication on mobile phones. Communication in Contrail is purely asynchronous, coping with the fact that phones temporarily are disconnected from the network. Phones set up filters with other phones expressing their interest set. We will demonstrate the usage of Contrail with three applications: P2P content distribution, P2P search, and location-based group communication.