> We considered completely rebuilding the application from the ground up, or even splitting it into separate applications for online and offline use

This is actually non-trivial. There's an app I was working on where I wanted to have a local first mode that allowed people to use the app for free without an account and there was also a cloud hosted version that allowed for team collaboration, etc.

For this kind of thing to work chunks of the app essentially need to be written twice. So, not fun.

Why? I use a similar model in a few mobile apps. Free, not logged in usage stores a restricted set of user activity data ephemerally (lost upon uninstall) in the phone. For subscribed users, this offline storage mechanism is still the primary storage mechanism, but then we add a cloud sync mechanism on top of it that enables usage across multiple devices and permanent storage in the cloud. Curious why you need to write the app twice when in my mind you are simply adding and enabling extra functionality on top of the core product.

Is this still relevant in the age of LLMs? They can write it 5 times without sweating.