Skip to content

DigMyGem vs Lute: two open-source readers you run yourself

DigMyGem and Lute are both open-source tools for learning a language by reading, and both can run on your own machine. Lute installs with pip or Docker and sends terms to Anki through AnkiConnect. DigMyGem runs from one Compose file, practises words inside the app and has no Anki link today.[1][3][4][5] Open DigMyGem

At a glance

  • Open source under the AGPL v3 licence, and self-hostable
  • Self-hosted data in one SQLite file, digmygem.db
  • No Anki link today: the Anki add-on was removed
  • Hosted app available too, with a free plan at $0

How do DigMyGem and Lute compare?

TopicDigMyGemLute
Hosting and licenceOpen source under AGPL v3. Use the hosted app, or run your own copy with Docker Compose: one service starts by default (the app), and a second, an article extractor, is optional.A standalone web application that you install on your own computer, with pip or Docker. Open source under the MIT licence.[2][3][4][1]
Your dataA self-hosted copy keeps your data in one SQLite file, digmygem.db, in a folder you choose. Settings exports your words as CSV or JSON, and all your learning data as one JSON backup.In Docker, the database and images live in a folder you mount at /lute_data, with backups in another.[4]
AnkiNo Anki link today. The Anki add-on was removed, and DigMyGem does not read or write Anki packages. Settings exports your words as a CSV file with the columns text, type, sentence, translation, state and createdAt.Exports your terms to Anki note types through the AnkiConnect add-on.[5]
PriceFree plan at $0 with unlimited reading, importing, saved words and practice. Pro is $10 a month or $100 a year, Ultra $30 a month or $300 a year.[6]The pages read show no plans or prices.[1][2][3][4]
What it isReading text you choose, then practising the words you save: they climb from rough stones towards gems as you practise, and practice is scheduled by FSRS.A Python and Flask tool for learning foreign languages through reading.[1]

How does each one install?

  • DigMyGem: pull the images and start the Compose file; the app listens on port 3400 and the API on 3457.
  • Lute with pip: create a virtual environment, run pip install lute3, then python -m lute.main and open http://localhost:5001. It needs Python 3.8 or later.[3]
  • Lute with Docker: run the jzohrab/lute3 image with a data folder mounted at /lute_data and a backup folder at /lute_backup.[4]

Can I use both?

Lute’s manual describes sending terms to Anki, and DigMyGem practises saved words inside the app with its four built-in games. DigMyGem has no Lute import and this page has not checked a Lute export format.[5]

When is Lute the better choice?

  • You want a small standalone install on your own computer, with pip or Docker.[2][3]
  • You already use Anki: Lute can send terms to it through AnkiConnect, and DigMyGem cannot.[5]

How does the DigMyGem gem game work?

Every word you save starts as a rough stone, and practice moves it up an eight-level ladder. Levels 1 to 4 are stones on the way (Rough, Forming, Refining, Shimmering). A word practised to the top of the stone ladder becomes a gem, and further reviews raise its tier: Brilliant (5), Flawless (6), Divine (7) and Jewelled (8), which is jewellery. The collection page shows the gems and jewellery you have earned, from a catalogue of 112 gemstones. Gems come from practice only: a word you already knew before you used the app, or marked known, counts as mastered. It is never a gem and is not in the collection.

  • Flashcards: flip a card, then mark it Got it or Later. Each mark is a graded answer, like one in the other games, and flipping first counts as a hint.
  • Picture to word: see a picture, pick its word from four, for English words for now.
  • Word to picture: read a word and its sentence, pick its picture, for English words for now.
  • Listen and pick: hear a word, tap its picture, for English words for now.
  • Game Lab: describe a game and it is built for you, themed on your saved words if you like. It uses your own model key.

Each answer is graded Again, Hard, Good or Easy from what you did: a wrong answer is Again, a correct answer after a hint or a first input slower than 2 seconds is Hard, a quick correct answer is Good, and the Too easy button, pressed before you answer, is Easy. On the stone ladder an answer banks 0.25, 0.5, 1 or 2 of a level for Again, Hard, Good or Easy. A miss never lowers a level, and the word comes back later. On a gem, any answer except Again counts as one more review towards its next tier. FSRS sets the next review, with a longest interval of 180 days.

A day counts when you look up a word, answer a practice question or read. The streak counts days in a row, and the stats page draws an activity heatmap. Reading worlds change the scenery behind the app: Crystal Pines, Candlelit Reading Room and Paper Hills are open from the start; Star Road opens with a 7-day streak, Ink and Wash opens after you finish 15 lessons and Japanese Onsen opens after you finish 3 lessons.

Sources and checks

Checked on . Statements about DigMyGem were written from its code; statements about other apps cite the page they were read from.

  1. Lute v3 repository on GitHub
  2. Lute manual, introduction
  3. Lute on PyPI (lute3)
  4. Lute on Docker Hub (jzohrab/lute3)
  5. Lute manual: Anki and AnkiConnect
  6. DigMyGem pricing page, where the DigMyGem plan facts are published

Open DigMyGem