I've redesigned the way screens/apps are handled and introduced a main menu.
More importantly, I have managed to get the average current consumption down to 350-550uA (1.5mA previously)!
Turns out a huge chunk of it - 800uA, was a bug in the TWI (I2C) peripheral. Documented in the errata as Anomaly #89, the peripheral does not actually stop consuming power when disabled. Fortunately there is a simple software fix for it.
Another gain was from a small change in the notoriously power-hungry FreeRTOS implementation for nrf52.
Two weeks might be exaggerated, but based on my previous measurements, I expect at least 9 days of normal operation. To help with monitoring, I've added a battery app that shows a charge history graph.
One grid interval is 12 hours (X) and 20% of charge (Y). In this case the slope shows an expected 3 day lifetime - this is with the previous 1.5mA consumption!
Looks like the current consumption fixes really did make a difference and are in line with my 9 day lifetime expectation.