1. A method, comprising: responsive to a request to access a file stored in a memory of a computing device, identifying, by a processor, a context in which the access to the file is being requested; identifying, by the processor, one or more computer files that at least partially match the context by comparing current context information related to the request to past context information related to prior requests to access files stored in the memory, wherein the comparing is based on heuristic data comprising rules to search the current context information, the past context information, and synonym context information, and wherein the synonym context information includes context information related to synonyms of one or more searched terms in the request; identifying, by the processor, one or more user contacts having sent communications to or received communications from the user including the one or more computer files at least partially matching the context; generating, by the processor, for a display, a list of stored files selectable by a user, the list of stored files including the identified one or more computer files at least partially matching the context; and generating, by the processor, for the display, a list of user contacts selectable by the user, the list of user contacts including the identified one or more user contacts having sent communications to or received communications from the user that include the identified one or more computer files at least partially matching the context, wherein the heuristic data is modified in response to the generating the list of stored files or the generating the list of user contacts, and wherein each of the user contacts in the list of user contacts includes a link to the identified one or more computer files at least partially matching the context that are included in the communications between the respective user contact and the user.