Classic 'new message' notifications about your talk page or LQT only show up when refreshing a page.
Polling the web API every couple minutes could be nice, especially if things like RecentChanges turn into more interactive pages that will be long-running.
Alternatively, a non-polling implementation (real-time) could use something like Server-Sent Events (browser support), WebSockets (browser support) with COMET fallback, T113125: Investigate using service workers to provide real-time Echo notifications in the browser (push notifications), or another option. There are libraries that handle some of the browser compatibility issues with these.