# PatraƱas - Spanish Flashcards A native iOS app designed to practice Spanish, focusing on verb conjugation. ## Database The app stores lists of verbs in a structure that allows it to go from: Verb -> Tense -> Person -> Profficiency Profficiency is a structure that represents how well has the student mastered this verb, in this tense and person. The app should be teaching all tenses, however, in settings one can decide which ones to practice. ## Exercises Exercises are of several kinds. In settigns the user can chose which ones to enable. They should also live in a database, something like: Verb -> Tense -> Person -> Exercise -> (Question, Answers, Correct) Note that depending on the exercise type the Answers might be empty, because we only care about the correct one, so no options are needed. ### Swipe The fastest and easiest proposed exercise is to have a short english phrase, e.g.: "he talks" and two translation options, one of which is correct. The user has to swipe left or right to chose between the two options. It is important to shuffle the order. Bonus: If we could implement it so that the english example is actually a short sentence, rather than just the verb it would be better, however the translation should focus on the verb. ### Translate The user has to type the correct word in a textfield. The textfield must be focused immediately and set to a spanish keyboard. ### Audio Translate Same as Translate, but the user speaks. ### Multi option Like tinder but with more than one option. Both Swipe and Multi option can pull from the same exercise database. ## Data construction Since we don't have an internal dictionary, the database will be created on the fly as the user progresses by an LLM. We will only support Gemini. The user will input their token in the settings. The app will contain a prompt that sends the exercises we have, with the associated profficiency (not the structure, just a one word representation) and will ask for more exercises. The amount of new exercises should be capped. The sending of words can be progressively optimized, for example we can say that the user is profficient with the word Hablar in present tense in all persons. Try to compact this as much as possible in the prompt. ## Progression The app should attempt for the student to always be learning, using repeated repetition, introducing new exercises as they are needed.