A server includes a network communication device, memory hardware, and data processing hardware. The data processing hardware receives sensor data and application data from a client computing device. The sensor data includes sensor measurement values from sensors. The application data indicates application states applications. The data processing hardware receives a request to provide event notifications to a first application from the plurality of applications upon an occurrence of an event. The request includes an event description. The data processing hardware identifies an event trigger that indicates the occurrence of the event. The event trigger includes an application state of a second application and a sensor measurement value for at least one of the sensors. The data processing hardware detects the occurrence of the event by comparing the event trigger with the sensor data and the application data, and transmits an event notification to the first application upon detecting the event.