1. A method of identifying type-ahead candidates, comprising: determining a context of a plurality of past non-threaded emails or documents of a user by analyzing the plurality of past non-threaded emails or documents for words or phrases, wherein the plurality of past non-threaded emails or documents are associated with a software application; generating a context index associating the plurality of the past non-threaded emails or documents of the determined context with corresponding repeatable values within the plurality of past non-threaded emails or documents; receiving one or more characters in a current email or document of the software application; determining a context of the current email or document by analyzing the current email or document for current words or phrases in the current email or document, wherein the context of the current email or document corresponds to the context of past non-threaded emails or documents; determining matches between the current words or phrases and words or phrases of the plurality of past non-threaded emails or documents of the context index; identifying, based on the determined matches, one or more of the corresponding repeatable values; matching the identified corresponding repeatable values with the one or more received characters to identify one or more candidate words; and presenting the one or more candidate words to a user on a computer as type-ahead choices for inclusion in the current email or document.