An immersion toolkit for learning Languages through games and other visual media.
825
stars
1,897
commits
Python
primary language
Sep 11, 2026
updated
Turn your gaming time into language mastery.

GSM is an application designed to automate the process of creating flashcards while you play. It sits between your game and Anki, handling audio recording, screenshots, and OCR so you don't have to interrupt your gameplay.
GSM automatically adds context to your Anki cards whenever you create them.
https://github.com/user-attachments/assets/df6bc38e-d74d-423e-b270-8a82eec2394c
For games that don't have a text hook (Agent/Textractor), GSM uses a custom fork of OwOCR to read text directly from the screen.
This opens up all kinds of posssibilities for games that would otherwise be inaccessible for language learning/sentence mining. For example I've made cards with games like Metal Gear Solid 1+2, Titanfall 2, and Sekiro, all using GSM's OCR.
https://github.com/user-attachments/assets/07240472-831a-40e6-be22-c64b880b0d66
GSM includes a transparent overlay for instant dictionary lookups.
Track your immersion habits with the stats dashboard.

For full setup guides and configuration details, check the Wiki (Currently WIP).
This project includes modified versions of the following libraries, I got tired of submodule hell so I've included them directly here for easier management all credits go to the original authors:
TextFeed Page
OwOCR
MeCab Controller
| Free code signing provided by SignPath.io, certificate by SignPath Foundation. |
|---|
Python
47.0%
JavaScript
20.3%
TypeScript
15.8%
HTML
10.9%
CSS
3.3%
Rust
1.5%
An immersion toolkit for learning Languages through games and other visual media.
825
stars
1,897
commits
Python
primary language
Sep 11, 2026
updated
Turn your gaming time into language mastery.

GSM is an application designed to automate the process of creating flashcards while you play. It sits between your game and Anki, handling audio recording, screenshots, and OCR so you don't have to interrupt your gameplay.
GSM automatically adds context to your Anki cards whenever you create them.
https://github.com/user-attachments/assets/df6bc38e-d74d-423e-b270-8a82eec2394c
For games that don't have a text hook (Agent/Textractor), GSM uses a custom fork of OwOCR to read text directly from the screen.
This opens up all kinds of posssibilities for games that would otherwise be inaccessible for language learning/sentence mining. For example I've made cards with games like Metal Gear Solid 1+2, Titanfall 2, and Sekiro, all using GSM's OCR.
https://github.com/user-attachments/assets/07240472-831a-40e6-be22-c64b880b0d66
GSM includes a transparent overlay for instant dictionary lookups.
Track your immersion habits with the stats dashboard.

For full setup guides and configuration details, check the Wiki (Currently WIP).
This project includes modified versions of the following libraries, I got tired of submodule hell so I've included them directly here for easier management all credits go to the original authors:
TextFeed Page
OwOCR
MeCab Controller
| Free code signing provided by SignPath.io, certificate by SignPath Foundation. |
|---|
Python
47.0%
JavaScript
20.3%
TypeScript
15.8%
HTML
10.9%
CSS
3.3%
Rust
1.5%