Trey t a663bc03cd Add 6 new practice features, offline dictionary, and feature reference
New features:
- Offline Dictionary: reverse index of 175K verb forms + 200 common
  words, cached to disk, powers instant word lookups in Stories
- Vocab SRS Review: spaced repetition for course vocabulary cards
  with due count badge and Again/Hard/Good/Easy rating
- Cloze Practice: fill-in-the-blank using SentenceQuizEngine with
  distractor generation from vocabulary pool
- Grammar Exercises: interactive quizzes for 5 grammar topics
  (ser/estar, por/para, preterite/imperfect, subjunctive, personal a)
  with "Practice This" button on grammar note detail
- Listening Practice: listen-and-type + pronunciation check modes
  using Speech framework with word-by-word match scoring
- Conversational Practice: AI chat partner via Foundation Models
  with 10 scenario types, saved to cloud container

Other changes:
- Add Conversation model to SharedModels and cloud container
- Add Info.plist keys for speech recognition and microphone
- Skip speech auth on simulator to prevent crash
- Fix preparing data screen to only show during seed/migration
- Extract courseDataVersion to static property on DataLoader
- Add "How Features Work" reference page in Settings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 16:12:36 -05:00

Conjuga

A Spanish verb conjugation learning app for iOS. Practice all 20 tenses with spaced repetition, handwriting recognition, and vocabulary courses.

Features

  • Conjugation Practice — Flashcards, typing, multiple choice, handwriting, sentence building, and full table modes
  • Spaced Repetition — SM-2 algorithm tracks what you know and surfaces what you don't
  • 1,750 Verbs — From basic to expert, with irregular form highlighting
  • 20 Tenses — Every indicative, subjunctive, conditional, and imperative tense
  • Grammar Guide — 20 tense guides with conjugation tables + 20 grammar topic notes (Ser vs Estar, Por vs Para, etc.)
  • Vocabulary Courses — Weekly decks with example sentences
  • Progress Tracking — Streaks, daily goals, accuracy stats, and achievement badges
  • CloudKit Sync — Review progress syncs across devices
  • Widgets — Daily progress, word of the day, and weekly stats
  • Text-to-Speech — Hear any verb pronounced in Spanish

Architecture

  • SwiftUI + SwiftData with a dual-store configuration:
    • Local store — Reference data (verbs, forms, guides) seeded from JSON on first launch
    • Cloud store — User data (review cards, progress, streaks) synced via CloudKit
  • SharedModels package shared between the app and widget extension

Requirements

  • iOS 18+
  • Xcode 16+

Building

Open Conjuga/Conjuga.xcodeproj in Xcode and run on a simulator or device. Data seeds automatically on first launch.

Description
No description provided
Readme 13 MiB
Languages
Swift 91%
Python 6.1%
HTML 2.9%