A method for determining device location comprising, in a client device: transmitting, using one or more processors of the client device, a request for venue data to one or more servers, the request comprising geolocation data generated by the client device; receiving, from the one or more servers, a venue dataset comprising a plurality of venues, each venue of the plurality of venues associated with tags that describe the venue; generating an image using an image sensor of the client device; classifying the image based on what the image depicts, wherein classifying the image includes: determining environment data for the image using an environment classification engine, the environment data describing whether the image is of an outside environment or inside environment; classifying the image as a type of venue using a venue classification engine; and classifying an object depicted in the image using an object classification engine, wherein each of the classification engines is implemented as a respective machine learning scheme; selecting a venue from the venue dataset based at least in part on the classified object matching a tag associated with the venue, at least in part on the type of venue, and at least in part on the environment data of the image matching a tag associated with the venue; selecting one or more display elements that are pre-associated with the selected venue; and displaying, on the client device, a presentation comprising the one or more display elements and the image, wherein the venue classification engine comprises one or more convolutional neural networks trained to classify the image by venue type using a training set of images of different types of venues or places, wherein the object classification engine comprises one or more neural networks trained to classify physical objects using an image set, the image set comprising images of a plurality of different types of physical objects, and wherein the environment classification engine comprises one or more neural networks trained to classify environments as being inside or outside, the one or more neural networks trained on an image set comprising images of a plurality of images of outside and inside environments. transmitting, using one or more processors of the client device, a request for venue data to one or more servers, the request comprising geolocation data generated by the client device; receiving, from the one or more servers, a venue dataset comprising a plurality of venues, each venue of the plurality of venues associated with tags that describe the venue; generating an image using an image sensor of the client device; classifying the image based on what the image depicts, wherein classifying the image includes: determining environment data for the image using an environment classification engine, the environment data describing whether the image is of an outside environment or inside environment; classifying the image as a type of venue using a venue classification engine; and classifying an object depicted in the image using an object classification engine, wherein each of the classification engines is implemented as a respective machine learning scheme; determining environment data for the image using an environment classification engine, the environment data describing whether the image is of an outside environment or inside environment; classifying the image as a type of venue using a venue classification engine; and classifying an object depicted in the image using an object classification engine, wherein each of the classification engines is implemented as a respective machine learning scheme; selecting a venue from the venue dataset based at least in part on the classified object matching a tag associated with the venue, at least in part on the type of venue, and at least in part on the environment data of the image matching a tag associated with the venue; selecting one or more display elements that are pre-associated with the selected venue; and displaying, on the client device, a presentation comprising the one or more display elements and the image, wherein the venue classification engine comprises one or more convolutional neural networks trained to classify the image by venue type using a training set of images of different types of venues or places, wherein the object classification engine comprises one or more neural networks trained to classify physical objects using an image set, the image set comprising images of a plurality of different types of physical objects, and wherein the environment classification engine comprises one or more neural networks trained to classify environments as being inside or outside, the one or more neural networks trained on an image set comprising images of a plurality of images of outside and inside environments.