A system for application navigation using neural networks comprising a server and a client, wherein: the server is arranged to provide an application to the client, the application comprising application states that operate on data objects to generate user interface pages; the server and/or the client is arranged to predict a next user interface page using an application state-predicting neural network and a data object-predicting neural network; the prediction comprising: predicting a next application state using the application state-predicting neural network and a first input vector, wherein an output layer of the application state-predicting neural network comprises output nodes corresponding to the application states, the nodes in the output layer comprising likelihood scores indicating whether the application state corresponding to the node is the next application state, wherein a greatest score indicates a most-likely application state; and predicting a next data object using the data object-predicting neural network, a second input vector, and the next application state, wherein an output layer of the data object-predicting neural network comprises output nodes corresponding to the data objects, the nodes in the output layer comprising likelihood scores indicating whether the data object corresponding to the node is the next data object, wherein a greatest score indicates a most-likely data object; and the client is arranged to display an indication of the predicted next user interface page comprising the client being arranged to: dynamically generate a current user interface page according to a current application state using a current data object, display the current user interface page, the current page modified to indicate the predicted next user interface page. the server is arranged to provide an application to the client, the application comprising application states that operate on data objects to generate user interface pages; the server and/or the client is arranged to predict a next user interface page using an application state-predicting neural network and a data object-predicting neural network; the prediction comprising: predicting a next application state using the application state-predicting neural network and a first input vector, wherein an output layer of the application state-predicting neural network comprises output nodes corresponding to the application states, the nodes in the output layer comprising likelihood scores indicating whether the application state corresponding to the node is the next application state, wherein a greatest score indicates a most-likely application state; and predicting a next data object using the data object-predicting neural network, a second input vector, and the next application state, wherein an output layer of the data object-predicting neural network comprises output nodes corresponding to the data objects, the nodes in the output layer comprising likelihood scores indicating whether the data object corresponding to the node is the next data object, wherein a greatest score indicates a most-likely data object; and predicting a next application state using the application state-predicting neural network and a first input vector, wherein an output layer of the application state-predicting neural network comprises output nodes corresponding to the application states, the nodes in the output layer comprising likelihood scores indicating whether the application state corresponding to the node is the next application state, wherein a greatest score indicates a most-likely application state; and predicting a next data object using the data object-predicting neural network, a second input vector, and the next application state, wherein an output layer of the data object-predicting neural network comprises output nodes corresponding to the data objects, the nodes in the output layer comprising likelihood scores indicating whether the data object corresponding to the node is the next data object, wherein a greatest score indicates a most-likely data object; and the client is arranged to display an indication of the predicted next user interface page comprising the client being arranged to: dynamically generate a current user interface page according to a current application state using a current data object, display the current user interface page, the current page modified to indicate the predicted next user interface page. dynamically generate a current user interface page according to a current application state using a current data object, display the current user interface page, the current page modified to indicate the predicted next user interface page.