A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor, cause a computing device to:
- in response to receiving a transportation request, provide, for display by a client device, a public transit itinerary to a destination on a user interface of the client device, the public transit itinerary comprising a public transit segment;
- receive one or more initial digital signals from a sensor suite of the client device, wherein the one or more initial digital signals comprises motion information of the client device and the sensor suite comprises at least one of an accelerometer, a gyroscope, or a magnetometer;
- compare the one or more initial digital signals associated with the client device with data associated with a plurality of public transit vehicles to generate a first initial probability score that the client device is traveling on a first public transit vehicle corresponding to the public transit segment, wherein the one or more initial digital signals comprises motion information of the client device;
- compare the one or more initial digital signals associated with the client device with the data associated with the plurality of public transit vehicles to generate a second initial probability score that the client device is traveling on a second public transit vehicle along the public transit segment;
- receive one or more additional digital signals from the sensor suite of the client device;
- compare the one or more additional digital signals associated with the client device with data associated with the plurality of public transit vehicles to generate a first updated probability score that the client device is traveling on the first public transit vehicle and a second updated probability score that the client device is traveling on the second public transit vehicle;
- determine, based on the first updated probability score, that the client device is not traveling on the first public transit vehicle corresponding to the public transit segment;
- based on determining that the second updated probability score satisfies a threshold probability, determine that the client device is traveling on the second public transit vehicle corresponding to the public transit segment;
- based on determining that the client device is traveling on the second public transit vehicle and based on progress of the second public transit vehicle along the public transit segment, update the public transit itinerary initially displayed on the user interface of the client device;
- in response to updating the public transit itinerary, provide, for display by the user interface of the client device during the public transit segment, a selectable proactive notification within the user interface of the client device;
- and
- in response to detecting a selection of the selectable proactive notification within the user interface, provide for display on the user interface, one or more selectable alternative public transit itineraries to the destination before arriving at a next public transit stop for the second public transit vehicle along the public transit segment and the one or more selectable alternative public transit itineraries is determined by:
- generating public transit itinerary scores for alternative public transit itineraries in a set of alternative public transit itineraries to the destination from the next public transit stop;
- and
- selecting the one or more selectable alternative public transit itineraries by comparing the public transit itinerary scores for the alternative public transit itineraries in the set of alternative public transit itineraries and a public transit itinerary score for the public transit itinerary.