1. A method of providing an auto-completion feature in a graphical user interface, the method consisting of: providing a user configurable auto-completion application operating in the background of a computer operating system and executing on a computing device, the auto-completion application monitoring and archiving user activities, wherein certain actions by the user are parsed and indexed; analyzing the parsed and indexed actions of the user to determine at least one of relationships, user interactions, user statistics, various states of the user's actions over time, and images or video of the user's interaction to create an index of the user's typical interactions with the system; and providing a fast-forward functionality based on the index such that a tree structure is presented to the user on a display device of the computing device, the tree structure indicating the user's current state in the system and one or more future states the user typically takes based on past actions, wherein the auto-completion application includes instructions to: query the indexed actions of the user to locate auto-completion options based on similar application states; compare an application and a user context to a prior context; and present auto-completion options that match a state of the application and the user context.