A system comprising, a request handling component that receives a request from a client device for data having associated data type information, and obtains generalized data corresponding to that request, the request having associated client-specific information, wherein the associated client-specific information includes software version information, device type information and/or device class information or information from which a device class is determinable; a data transformation pipeline comprising one or more transformation models, each transformation model in the data transformation pipeline corresponding to the client-specific information of the client device and the data type information, wherein the transformation models are maintained in a hierarchy arranged according to a plurality of different client-specific information combinations, and wherein the transformation pipeline is built for the client request by searching the hierarchy using the client-specific information associated with the request and the data type information associated with the request to select a subset of the transformation models in the hierarchy for the transformation pipeline, wherein the data transformation pipeline is further used for a plurality of client requests and wherein the client-specific information along with the data type is used to compute a key to map a request to an instance of the data transformation pipeline in the memory; and the request handling component coupled to the data transformation pipeline to provide the generalized data for input into the data transformation pipeline, and to receive transformed output data from the data transformation pipeline, the transformed output data transformed by the one or more transformation models of the data transformation pipeline into customized data for the client device according to the client-specific information, and the request handling component configured to return the customized data in response to the client request. a request handling component that receives a request from a client device for data having associated data type information, and obtains generalized data corresponding to that request, the request having associated client-specific information, wherein the associated client-specific information includes software version information, device type information and/or device class information or information from which a device class is determinable; a data transformation pipeline comprising one or more transformation models, each transformation model in the data transformation pipeline corresponding to the client-specific information of the client device and the data type information, wherein the transformation models are maintained in a hierarchy arranged according to a plurality of different client-specific information combinations, and wherein the transformation pipeline is built for the client request by searching the hierarchy using the client-specific information associated with the request and the data type information associated with the request to select a subset of the transformation models in the hierarchy for the transformation pipeline, wherein the data transformation pipeline is further used for a plurality of client requests and wherein the client-specific information along with the data type is used to compute a key to map a request to an instance of the data transformation pipeline in the memory; and the request handling component coupled to the data transformation pipeline to provide the generalized data for input into the data transformation pipeline, and to receive transformed output data from the data transformation pipeline, the transformed output data transformed by the one or more transformation models of the data transformation pipeline into customized data for the client device according to the client-specific information, and the request handling component configured to return the customized data in response to the client request.