1. A computer-executed method comprising: receiving, at a system from a client device, a request for a learning resource; wherein the request includes: user-specific information, and context information for the client device; in response to receiving the request, the system automatically performing: determining a target format category in which the learning resource is stored at a resource repository; determining a particular set of rules that are specific to the target format category; based, at least in part, on the user-specific information and the particular set of rules, selecting a plurality of candidate format categories; selecting a particular format category, from the plurality of candidate format categories, based at least in part on the context information for the client device; selecting a particular format, within the particular format category, based, at least in part, on the context information for the client device; after selecting the particular format: obtaining the learning resource in the particular format by either retrieving the learning resource from the repository in the particular format or converting the learning resource into the particular format; and making the learning resource, in the particular format, available to the client device; wherein the system comprises one or more computing devices.