Systems and methods can suggest applications for use by a user of a computing device. The suggestions can be provided on a user interface for the user to select. A suggestion engine can use historical user interactions and contextual data to derive features for a machine learning mode. The machine learning model can determine which application to suggest according to the current context. Multiple models, such as a pattern model and a heuristics model, may be user to generate features for the machine learning model based in user interactions.