A person should be able to study their flashcards/notes in an offline environment. E.g. on a plane, on a train in a tunnel, where-ever. Also, flash cards are quite personal, and many people have hesitations about trusting them to some cloud-only server. Imagine if Obsidian/VSCode/your-note-app only worked while online. (Heck, look at how much pain Notion is going through trying to support offline behavior.) At the very least there needs to be a way to export their data to some CSV. IndexedDB is a nightmare, but it has a library that lets it easily sync with the cloud (PouchDb/CouchDb). I'd consider Sqlite, but its syncing features/community are significantly smaller than *ouchDb.
Unfortunately MartenDB is on PostGres (which makes it unviable for electron-style clients) and Microsoft Sync Framework looks dead.
Yep, I was originally intending for this to be a PWA. I'm now planning on Electron (or Tauri, if stars align). There may eventually be a PWA down the line, but I think most students will be okay with installing a program. Electron and PouchDb can both use Sqlite/LevelDb/IndexedDB, which is cool because IndexedDB is a slow POS. So on Electron I think I'll use PouchDb's LevelDb adapter, and when/if I start work on a PWA version I'll use PouchDb's IndexedDB adapter.
Ps. https://martendb.io/ and https://www.microsoft.com/en-us/download/details.aspx?id=232... ( Microsoft sync framework)