Trakaido is a language learning application built for people who want to seriously study vocabulary. It supports multiple target languages — Lithuanian, Chinese, French, and Spanish as core languages, with experimental support for German, Italian, Dutch, Portuguese, and Swedish on the web.
Why another language app?
Most language apps treat vocabulary as a side effect of gamification. Trakaido takes the opposite approach: vocabulary acquisition is the core, and everything else serves that goal. The app is built around spaced repetition, powered by an algorithm called Barsukas, which schedules reviews to maximize long-term retention.
Study modes
Trakaido offers several ways to practice:
- Journey Mode is the main mode. It automatically selects words using spaced repetition, introducing new vocabulary and reviewing old words at the right intervals.
- Drill Mode lets you pick specific words and activity types to practice.
- Blitz Mode is timed — answer as fast as you can.
- Flashcards, multiple choice, listening, and typing modes each focus on a specific skill.
Within each mode, activities vary: you might see a flashcard, hear audio and pick the translation, type the word from memory, or choose from multiple options. This variety keeps practice from becoming rote.
How vocabulary is organized
Words in Trakaido are organized into levels and groups. Levels represent difficulty — you start with basic vocabulary and progress to more advanced words. Within each level, words are grouped thematically (food, travel, greetings, etc.). You choose which levels and groups you want to study through the Study Materials selector.
Source and target languages
Trakaido distinguishes between your target language (the one you're learning) and your source language (the one you already speak). The source language determines the UI language and the translations shown for vocabulary. Currently English and Kannada are supported as source languages.
The tech
The web app is built with React, TypeScript, and Vite. There's also an iOS/macOS app built with SwiftUI and a Kotlin-based Android app in development. Vocabulary data is stored in wireword files — structured JSON containing words, translations, example sentences, and metadata.
The app supports both offline demo mode (using IndexedDB and localStorage) and online authenticated storage with cloud sync.
What's next
Future posts will dive into specific topics: how Barsukas works, how wireword files are structured, and the design decisions behind the study modes.