A system includes a memory and at least one processor to receive text from a client computing device, the text received one character at a time, as each character of the text is received, determine a recommendation in real-time to be added to the text based on at least one of a list of rules, word embedding, an n-gram model, and a co-occurrence model, the recommendation comprising at least one of a word, a list of hashtags, a quotation, and a list of emojis, and send the recommendation to the client computing device.