1. A system, comprising: a processor configured to: determine a topic based on a user demand, wherein the determining of the topic comprises: determine frequencies of phrases based on an analysis of a search query log from a web site, a search query log from a search engine, or a combination thereof; compare the frequencies of the phrases to a predetermined threshold; determine at least one theme based on phrases having frequencies exceeding the predetermined threshold; sort the at least one theme based on common words in the phrases; cluster the at least one theme based on a clustering technique, the clustering technique being a min hash clustering or a n-squared clustering based on bi-grams; and determine the topic based on the clustered at least one theme; automatically generate content for the topic; and select the content that is contextually relevant for display within a corpus of content, wherein the content is optimized for the topic; wherein the corpus of content includes a web site, a user's social networking web page, content customized for mobile devices, content customized based on location awareness, or an electronic mail message; and wherein: in the event that the corpus of content includes the web site, content of the web site is different from other web pages of the website; in the event that the corpus of content includes a user's social networking web page, content of the user's social networking web page is different from another user's social networking web page; in the event that the corpus of content includes content customized for mobile devices, content of a mobile device is different from another mobile device; in the event that the corpus of content includes content customized based on location awareness, content of a location is different from another location; and in the event that the corpus of content includes the electronic mail message, the electronic mail message is different from another electronic mail message; and a memory coupled to the processor and configured to provide the processor with instructions.