A method of predictive media content item caching on a media-playback device, the method comprising: obtaining destination data that specifies a destination of the media-playback device; obtaining route data that specifies a route from a current location of the media-playback device to the destination of the media-playback device as described in the destination data; obtaining at least one connectivity map based on the route data; determining area data based on the at least one connectivity map and the route data, wherein the area data specifies one or more areas of limited network connectivity; generating, based on the area data, identifier data that identifies one or more media content items to be played during the one or more areas of limited network connectivity; and caching, at the media-playback device, the one or more media content items using the identifier data, wherein obtaining the destination data includes: obtaining input data from the media-playback device; providing the input data as input to a destination prediction engine having neural network trained to predict a destination; and obtaining the destination as output from the destination prediction engine; wherein providing the input data as input to the destination prediction engine includes: determining, based on the input data, a sub-region in which the media-playback device is located, wherein the sub-region is the smallest unit of location in the at least one connectivity map; providing an identifier of the sub-region as the input to the destination prediction engine including formatting the identifier as a one-hot vector. obtaining destination data that specifies a destination of the media-playback device; obtaining route data that specifies a route from a current location of the media-playback device to the destination of the media-playback device as described in the destination data; obtaining at least one connectivity map based on the route data; determining area data based on the at least one connectivity map and the route data, wherein the area data specifies one or more areas of limited network connectivity; generating, based on the area data, identifier data that identifies one or more media content items to be played during the one or more areas of limited network connectivity; and caching, at the media-playback device, the one or more media content items using the identifier data, wherein obtaining the destination data includes: obtaining input data from the media-playback device; providing the input data as input to a destination prediction engine having neural network trained to predict a destination; and obtaining the destination as output from the destination prediction engine; obtaining input data from the media-playback device; providing the input data as input to a destination prediction engine having neural network trained to predict a destination; and obtaining the destination as output from the destination prediction engine; wherein providing the input data as input to the destination prediction engine includes: determining, based on the input data, a sub-region in which the media-playback device is located, wherein the sub-region is the smallest unit of location in the at least one connectivity map; providing an identifier of the sub-region as the input to the destination prediction engine including formatting the identifier as a one-hot vector. determining, based on the input data, a sub-region in which the media-playback device is located, wherein the sub-region is the smallest unit of location in the at least one connectivity map; providing an identifier of the sub-region as the input to the destination prediction engine including formatting the identifier as a one-hot vector.