Personal notes can be stored offline locally. You can add and work with your notes locally. It syncs with remote server when having network.
Current thinking is using sqlite in browser (like chrome and safari, they support web sql). Files can also be stored in sqlite. Use browser python like brython for programming.