1. A computer-implemented method comprising: determining, by a computer-based system, a default number of applications to be displayed in a graphical user interface (“GUI”); selecting, by the computer-based system and based on the default number of applications, a plurality of applications to be displayed in the GUI; determining, by the computer-based system, a relative size for each of the plurality of applications; formatting, by the computer-based system, the GUI such that the plurality of applications fills the GUI; activating, by the computer-based system and based on input from a user, a first application in the plurality of applications; resizing, by the computer-based system, the first application; activating, by the computer-based system and in response to the activating the first application, a second application in the plurality of applications; resizing, by the computer-based system, the second application such that the plurality of applications fills the GUI; removing, by the computer-based system and in response to the activating the second application, a non-active application from the plurality of applications displayed in the GUI; receiving, by the computer-based system and via the first application, input comprising a first task; parsing, by the computer-based system, the input into keywords; determining, by the computer-based system, that the second application contains data that may be obtained in order to complete the first task; transmitting, by the computer-based system and based on the keywords, a request to the second application; and transmitting, by the computer-based system, the data from the second application to the first application via an application programming interface.