What is Barsukas?

Barsukas is the web-based editor and content management system that powers Trakaido's linguistic data. It runs at encyclopedia.foundation and is the tool humans use to curate the vocabulary, translations, sentences, and audio that end up in the Trakaido app. The name comes from the Lithuanian word for "badger" — persistent, systematic, and thorough.

What it does

Trakaido needs structured vocabulary data across nine languages: words with definitions, translations, example sentences, audio pronunciations, grammar metadata, and difficulty ratings. Barsukas is where all of that data is created and maintained.

Through its web interface, editors can:

  • Browse and search the lemma database — the dictionary of all words Trakaido teaches
  • Add and edit words with definitions, parts of speech, and difficulty levels (1–20)
  • Manage translations across all supported target languages
  • Create example sentences and link them to vocabulary entries
  • Generate and review audio pronunciations using multiple text-to-speech providers
  • Run data quality checks to find orphaned records, missing translations, or duplicates
  • Export data in the WireWord JSON format that the Trakaido apps consume

AI agents with Lithuanian names

One of Barsukas's more distinctive features is its system of AI-powered agents, each named after a Lithuanian animal and responsible for a specific type of data enrichment:

  • Voras (Spider) — validates and generates translations
  • Vilkas (Wolf) — produces word forms like conjugations and declensions
  • Lapė (Fox) — fills in grammar facts such as gender and classifiers
  • Šernas (Boar) — finds synonyms and alternatives
  • Žvirblis (Sparrow) — generates example sentences
  • Vieversys (Lark) — generates audio pronunciations
  • Ungurys (Eel) — exports WireWord files for the Trakaido app

These agents can be launched from the web UI to process vocabulary in bulk, turning what would be tedious manual work into supervised automation.

Technology stack

Barsukas is a Flask application backed by SQLite (for local development) or PostgreSQL via Supabase (in production). The frontend uses Bootstrap 5 with Jinja2 templates. The database schema centers on lemmas, translations, word tokens, derivative forms, sentences, and grammar facts, all tied together with SQLAlchemy.

Audio generation is handled by a subsystem called Audioshoe, which supports multiple TTS providers including eSpeak, Piper, Coqui, OpenAI, and Google.

How it fits into Trakaido

Barsukas is a separate system from the Trakaido app itself. It lives in its own repository and runs independently. The connection between them is the data pipeline: editors curate content in Barsukas, then export it as WireWord JSON files that the Trakaido web, iOS, and Android apps load at runtime.

This separation keeps the learning app focused on the study experience, while Barsukas handles the complexity of building and maintaining a multilingual vocabulary database.