1. An apparatus, comprising: a user interface operable to receive an image type from a user, the image type corresponding to an image to be photographed; a camera operable to receive the image; a memory operable to store the image type and the received image; a network interface operable to communicate with one or more networks; a processor communicatively coupled to the user interface, the camera, the memory, and the network interface, the processor operable to determine a device type and determine whether to perform optical character recognition (OCR) processing of the received image locally based on one or more OCR parameters; and if it is determined to perform OCR processing of the received image locally: compute one or more name-value pairs corresponding to the received image, wherein computing one or more name-value pairs corresponding to the received image comprises: extracting text from the received image; determining the name-value pairs based on the extracted text; requesting, using the user interface, confirmation of the name-value pairs by the user; and receiving confirmation of the name-value pairs by the user; and transmit the name-value pairs to a remote data server for processing.