d9ddaa49028dbf9815f4202f909a30f046a8fc64
The toolbar Filter menu now has two sections: - Level (existing) - Irregularity: Any Irregular / Spelling Change / Stem Change / Unique Irregular Filters combine, so "Basic" + "Unique Irregular" narrows to the foundational ser/ir/haber-class verbs. Categories are derived at load time from existing IrregularSpan rows using the same spanType ranges already used by PracticeSessionService (1xx spelling, 2xx stem, 3xx unique), so no schema or data changes are required. UI additions: - Per-row icons (star / arrows / I-beam) show each verb's irregularity categories at a glance, tinted by type. - When any filter is active, a chip bar appears under the search field showing the active filters (tap to clear) and the resulting verb count. - Filter toolbar icon fills when any filter is applied. Data coverage: 614 / 1750 verbs are flagged irregular — 411 spelling, 275 stem-change, 67 unique — consistent with canonical lists from SpanishDict, Lawless Spanish, and Wikipedia. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Languages
Swift
85.5%
Python
11.9%
HTML
2.4%
Shell
0.2%