Širvintos is a small town in eastern Lithuania, serving as the administrative center of the Širvintos District Municipality within Vilnius County. It lies approximately 50 km northwest of Vilnius, the capital, and is part of the ethnographic region of Aukštaitija.

The town has a population of around 6,000–7,000 people and is situated along the Širvinta River, from which it takes its name. Širvintos is known for its quiet atmosphere, a modest but tidy town center, and its recent urban revitalization efforts. In the past decade, significant EU-funded improvements have transformed parts of the town—new public spaces, walking paths, renovated streets, and cultural sites have been developed to make it more livable and attractive.

The focus today is "Trakaido". Here is a list of 21 things to do, and 3 things that got finished before I wrote this post.

  • it needs an "audio production pipeline" that is less bad than the current one. This includes better "here are new words, generate audio and upload it" tooling, and better "audio double-checking" 🔥 no LLM tool is perfect.
  • additional grammar
  • "phrases"
  • integration with Greenland
  • additional language support
  • access to images ("ball", "France", "carrot")
  • "how to type Lithuanian" - transcribe žemės riešutas
  • Improve the "Study Materials" management
  • On some of the audio, you can hear an "inhale" breath before the word is pronounced. 🔥 this is a demonstration of the LLM's ability to generate real-life quality content. unfortunately, it is still wrong 💡 building a better "audio transcription lab" tool is still out-of-bailiwick
  • The options for 6/8 multiple choices don't work as well on mobile.
  • The "hints" shouldn't show up in LT->EN mode. "It's a shape" when only 1 MultChoice answer is a shape.
  • Some of the time, the audio should play without "click/hover" (and there should be pre-loading for this).
  • The fact that the layout "jumps" when the buttons get bigger (because the translation is added) is problematic and needs to be fixed, not just worked around.
  • There should be a visible is muted? option, separate from the broad settings.
  • the original design for the app was to choose a random voice. the machine took that function out. It should come back in some way.
  • a "splash screen" when they enter.
  • an intro screen that is self-explanatory, OR, a "new user tutorial"
  • either "start as new user", "start with some skill", or "start as expert". For a "new user", we start with 20 words and go from there. For "some skill" ... the app can try to assess strengths and weaknesses. 🔥 i can do the math, just not right now. For "expert" ... we assume they know (or at least have context to understand) everything. review, reminder, and fun are the focus.
  • "dialogues" - demonstrate competence and mastery. 🔥 the dialogues might have xantham 💡 the colors are not separate character-voices. so, probably not xantham. ⚔️ Lithuanian doesn't have the letter "X"
  • "Display words in corpus" - list all the 20 words in a group, with translation and "play audio".
  • I explicitly dislike the interstitial "Keep going, you're doing great" screens ... but other people are very likely to disagree. Maybe I can find a compromise ...

DONE:

  • re-factor the "Lithuanian API" and some CSS out. reconsider architecture choices. This really wants to take advantage of React components in a way that the current architecture does not allow.
  • Collapse the options, to a drop-down of modes ("Flash Cards", "Multiple Choice", "Grammar"), and have a second drop-down for details (EN-LT direction, which "Grammar" mode, etc.)
  • "Save Corpus Choices" - we don't want to "lock" to a restricted set forever. or do we? Maybe a nudge ( "enable more corpuses" or "do you want to add this corpus" ) is the way to go.