Status: Phase 1 Implementation Started
Last Updated: November 27, 2024
DrillMaster is a browser-based tool for generating customizable Anki decks to help Spanish learners master verb conjugations and conversational skills through spaced-repetition drills.
Generate Anki-ready flashcards from a curated list of 42 essential Spanish verbs with multiple card types, tenses, and subjects.
# Development server (choose one)
python3 -m http.server 8000
# or
npx http-server
# or use VS Code Live Server
# Open browser to http://localhost:8000All design and planning documents are in docs/phase1/
- IMPLEMENTATION_MANDATE.md - Original design & implementation document
- FEASIBILITY_ANALYSIS.md - Technical feasibility assessment
- DECISIONS.md - All 24 design decisions documented
- STATUS.md - Current project status
- TEMPLATE_SYSTEM_EXPLAINED.md - What templates are and how they work
- TEMPLATE_DECISIONS_FINAL.md - Template creation strategy
- TENSE_SCALING_ANALYSIS.md - How tenses scale
- REFERENCE_REPO_ANALYSIS.md - Patterns from apg-web and hablabot
- tag_system_v3_documentation.md - Tag system specification
- ANSWERS_TO_QUESTIONS.md - Initial Q&A
- ✅ Translation (ES→EN): Spanish sentence → English translation
- ✅ Translation (EN→ES): English sentence → Spanish translation
- ✅ Filter by tier (1-4)
- ✅ Filter by regularity (regular, irregular, highly-irregular)
- ✅ Filter by verb type (-ar, -er, -ir)
- ✅ Filter by reflexive/non-reflexive
- ✅ Individual verb selection
- ✅ Tenses: Present, Preterite, Future
- ✅ Subjects: yo, tú, vos, él/ella/usted, nosotros, vosotros, ellos/ellas/ustedes
- ✅ Default: 5 subjects (excluding vos and vosotros)
- ✅ Anki TSV: Download tab-separated file for Anki import
- ✅ Conjugation Table: ASCII/HTML table for reference
- ✅ Copy to Clipboard: Quick copy for any export
- ✅ Preview: See cards before export
- HTML5: Semantic markup
- CSS: Pico CSS v2 (CDN)
- JavaScript: ES6+ modules (no build tools)
- Pattern: Controller-Service model
- State Management: Vanilla JS with localStorage
- Data Format: TSV (verbs), JSON (conjugations, templates)
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
- ✅ verb_list_refactored.tsv - 42 essential verbs with tags
- ⏳ conjugations.json - Pre-computed conjugations (882 forms)
- ⏳ templates.json - Sentence templates (84 templates, 2 per verb)
drillmaster/
├── index.html # Main application
├── css/
│ ├── pico.min.css # Pico CSS (CDN)
│ └── custom.css # Custom styles
├── js/
│ ├── main.js # Entry point
│ ├── controllers/
│ │ └── AppController.js # Main orchestrator
│ ├── services/
│ │ ├── VerbParserService.js # Parse TSV/tags
│ │ ├── ConjugationService.js # Conjugation lookups
│ │ ├── TemplateService.js # Template processing
│ │ ├── CardGeneratorService.js # Generate cards
│ │ ├── ExportService.js # Export TSV/tables
│ │ ├── FilterService.js # Verb filtering
│ │ └── SettingsService.js # localStorage
│ └── utils/
│ ├── tagParser.js # Tag parsing
│ ├── subjectMapper.js # Subject mappings
│ └── validators.js # Validation
├── data/
│ ├── verbs.tsv # 42 verbs (provided)
│ ├── conjugations.json # Pre-computed conjugations
│ └── templates.json # Sentence templates
├── scripts/
│ └── generate-conjugations.js # Node.js script (one-time)
├── docs/
│ ├── ANKI_SETUP.md # Anki note type setup
│ └── USER_GUIDE.md # Usage instructions
└── README.md # This file
- Templates: 2 per verb for Phase 1 (84 total)
- Conjugations: Hybrid generation + manual verification
- Subjects: 7 total (yo, tú, vos, él/ella/usted, nosotros, vosotros, ellos/ellas/ustedes)
- Defaults: vos and vosotros unchecked by default
- Card Ordering: Group by verb → tense → subject
- Settings: Persist in localStorage
- Export: TSV for Anki + ASCII/HTML tables for reference
- Tag System: Use tag_system_v3_documentation.md specification
- Architecture: Controller-Service pattern from apg-web
- Theme: Light/Dark/Auto switcher
See DECISIONS.md for all 22 decisions.
- Set up project structure
- Integrate Pico CSS
- Implement TSV parser
- Display verb list
- Generate conjugations.json
- Create templates.json
- Validate data
- Conjugation service
- Template engine
- Test with sample data
- Implement all card types
- Add preview functionality
- Filter panel
- Verb selection
- Settings persistence
- TSV export
- Table export
- Copy to clipboard
- Test all combinations
- Validate Anki import
- Documentation
- Edge case handling
Estimated Timeline: 8-10 weeks (moderate pace)
User can:
- ✅ Load the 42-verb list
- ✅ Filter by tier (select Tier 1 only)
- ✅ Select all Tier 1 verbs (10 verbs)
- ✅ Choose cloze deletion cards
- ✅ Choose present tense only
- ✅ Choose 3-5 subjects
- ✅ Generate preview
- ✅ Export TSV file
- ✅ Import into Anki successfully
- ✅ Study cards in Anki
Expected Output: 60 cards (10 verbs × 3 subjects × 2 templates)
Before starting implementation, need to decide:
-
Template Creation Approach:
- Option A: You provide sentence ideas, I format
- Option B: I draft templates, you review
- Option C: Hybrid approach
-
Template Complexity: Should match verb tier?
-
Timeline: When to start? What pace?
-
Native Speaker Review: Available for template validation?
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Text editor (VS Code recommended)
- Optional: Node.js (for conjugation generation script)
# No build tools required!
# Option 1: Python simple server
python3 -m http.server 8000
# Option 2: VS Code Live Server extension
# Just open index.html
# Option 3: Node.js http-server
npx http-server- Open
index.htmlin browser - Verbs load automatically
- Apply filters
- Select verbs
- Choose card settings
- Preview cards
- Export TSV
- Import into Anki
- .apkg file generation
- AI-generated sentences
- Audio integration (TTS)
- Image associations
- Progress tracking
- Browser-based flashcard practice
- Immediate feedback
- Spaced repetition algorithm
- Statistics dashboard
- Chat interface for practice
- Context-aware verb usage
- Corrections and explanations
- Conversational scenarios
Currently in pre-implementation phase. Design documents are complete and ready for development.
TBD
TBD
- Pico CSS: Clean, semantic CSS framework
- apg-web: Architecture patterns
- hablabot: Vocabulary management patterns
- Anki: Spaced repetition platform
Status: ✅ Design phase complete. Ready to start implementation when you are!
Next Step: Decide on template creation approach and timeline.