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. <EOS>