Encore is an offline French spaced-repetition app for Android. Cards and review progress are stored locally on the device; there is no account and no network dependency.
- Spaced-repetition review (Again / Hard / Good / Easy) with per-card scheduling
- Searchable card library, organized by deck
- Deck import via
.fdeckfiles - Local storage only, no network access required
- Open Library to add a card or import a
.fdeckfile. - Open Today and tap Start review.
- Tap a card in Library to view or edit it.
A .fdeck file is UTF-8 JSON with this structure:
{
"format": "fdeck",
"version": 1,
"name": "Words learned today",
"cards": [
{
"front": "à côté de",
"back": "next to / beside"
},
{
"front": "l’endroit",
"back": "place",
"gender": "m",
"example": "C’est l’endroit idéal.",
"exampleTranslation": "It’s the ideal place.",
"note": "Common noun",
"tags": ["daily", "lesson-15"]
}
]
}| Field | Required | Value |
|---|---|---|
format |
Yes | Must be "fdeck" |
version |
Yes | Must be 1 |
name |
Yes | Non-empty deck name |
cards |
Yes | Array of card objects |
front |
Yes | Non-empty French word or phrase |
back |
Yes | Non-empty English meaning |
gender |
No | "m" or "f" |
example |
No | French example sentence |
exampleTranslation |
No | English translation of the example |
note |
No | Additional context |
tags |
No | Array of text labels |
Save the JSON as a file ending in .fdeck. It is plain JSON, not a ZIP archive. Omit optional fields when they have no value.
A sample deck is available at samples/assimil-lesson-15.fdeck.
Requirements: JDK 17 or newer and Android SDK 37.
./gradlew testDebugUnitTest assembleDebugThe debug APK is written to app/build/outputs/apk/debug/app-debug.apk.
To compile the device parser tests:
./gradlew compileDebugAndroidTestKotlinEncore is licensed under the MIT License.


