π οΈ Data Handling & Sync
Lurnly is (currently) a fully client-side application - there is no server, no account, and no cloud. All of your data lives in your browser.
This is subject to be changed. With accounts & managment being planned in future updates.
How Data Flowsβ
Every action you take - creating a deck, studying cards, tracking progress - is saved to and read from your browser's Local Storage. Nothing is ever sent to a server.
study, create, import
browser storage
reads & displays
What Gets Storedβ
Lurnly uses two separate keys in Local Storage:
lurnly_decksArray of deck objectslurnly_study_logDaily card countsDeck Data Structureβ
Each deck is stored as a JSON object. Here's what a v1.3 deck looks like:
{
"id": "deck_1714000000000_0",
"name": "Spanish Basics",
"icon": "πͺπΈ",
"description": "Common Spanish vocabulary",
"author": "You",
"progress": 64,
"created": "2026-03-01T10:00:00.000Z",
"lastStudied": "2026-04-17T18:30:00.000Z",
"shuffle": false,
"timer": null,
"cards": [
{ "front": "Hola", "back": "Hello" },
{ "front": "Gracias", "back": "Thank you" }
]
}
Format Compatibilityβ
Lurnly reads both the current format and older exports, so decks from previous versions import without issues.
Auto-IDβ
When importing a deck that has no id field, Lurnly automatically generates one using the current timestamp:
deck_1714000000000_0
This ensures every deck can be uniquely identified for studying, editing, and deletion β even if the original export pre-dates the ID system.