13. A computer program product comprising a non-transitory computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: receive a request from a first device to transmit media from the first device for presentation on a second device; route the media from the first device to the second device; determine that a presenter is different from an author of the media; log a device usage entry that includes a unique identifier for the presenter, a unique identifier for the author of the media, a unique identifier for the second device, and a unique identifier referring to the media; determine an event; identify audience members at the event; determine which audience members participated in the event; determine one or more keywords relating to content in the media, wherein the one or more keywords relating to the content in the media includes content provided by the audience members that participated in the event; determine a first score for the presenter based on a number of times that the presenter has given a presentation including the one or more keywords; determine a second score for the author based on a number of times the one or more keywords appear in the media; generate an index that includes the one or more keywords and the unique identifier referring to the media; and update a first user profile associated with the unique identifier for the presenter to include a first indication of a presenter expert level based on the one or more keywords, the first score, and a first score threshold, and updating a second user profile associated with the unique identifier for the author to include a second indication of an author expert level based on the one or more keywords, the second score, and a second score threshold.
13. A computer program product comprising a non-transitory computer usable medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to: receive a request from a first device to transmit media from the first device for presentation on a second device; route the media from the first device to the second device; determine that a presenter is different from an author of the media; log a device usage entry that includes a unique identifier for the presenter, a unique identifier for the author of the media, a unique identifier for the second device, and a unique identifier referring to the media; determine an event; identify audience members at the event; determine which audience members participated in the event; determine one or more keywords relating to content in the media, wherein the one or more keywords relating to the content in the media includes content provided by the audience members that participated in the event; determine a first score for the presenter based on a number of times that the presenter has given a presentation including the one or more keywords; determine a second score for the author based on a number of times the one or more keywords appear in the media; generate an index that includes the one or more keywords and the unique identifier referring to the media; and update a first user profile associated with the unique identifier for the presenter to include a first indication of a presenter expert level based on the one or more keywords, the first score, and a first score threshold, and updating a second user profile associated with the unique identifier for the author to include a second indication of an author expert level based on the one or more keywords, the second score, and a second score threshold. 15. The computer program product of claim 13 , wherein determining the one or more keywords relating to the content in the media further comprises: determining parts of the media; determining the one or more keywords from the parts; and determining weights for the one or more keywords based on the parts.