A toddler-friendly iOS flashcard app that teaches early words through simple picture association. ๐ธโจ Built in SwiftUI and designed to grow with my daughter Lily. ๐ฑ
EarLiLy is an engaging, interactive learning tool for toddlers, helping them learn new words through the power of visual association. Designed with simplicity and accessibility in mind, EarLiLy offers a delightful learning experience for young minds with smooth animations and an intuitive interface.
- Browse flashcards organized by 8 categories (Animals, Food, Colors, Numbers, Shapes, Family, Toys, Nature)
- Tap-to-flip cards with smooth 3D rotation animations
- Swipe-based navigation for easy browsing
- Vibrant color-coded categories with emoji icons
- Memory matching game (match words to images)
- Real-time score and move tracking
- Confetti celebrations on correct matches ๐
- Wiggle animations for incorrect attempts
- Category-specific gameplay
- Detailed statistics dashboard
- Track games played, correct answers, and streaks
- Category-wise progress breakdown with success rates
- 6 unlockable achievement badges
- Visual progress bars and charts
- Bounce: Spring physics for tap feedback
- Wiggle: Shake effects for errors
- Confetti: Particle celebrations
- Shimmer: Highlight effects
- Pulse: Breathing animations
- 3D Flips: Card rotation effects
- Gradient backgrounds: Smooth color transitions
- Automatic save/load of all flashcards
- Statistics tracking across sessions
- Sample data pre-loaded for immediate play
- UserDefaults-based local storage
- macOS with Xcode 15.0 or later
- iOS 16.0+ deployment target
- Swift 5.0+
-
Clone the repository:
git clone https://github.com/wesleyscholl/EarLiLy.git cd EarLiLy -
Open in Xcode:
open EarLiLy.xcodeproj
-
Build and Run:
- Select an iPhone simulator (iPhone 15 Pro recommended)
- Press
Cmd + Rto build and run - The app will launch with sample flashcards ready to use!
./build.shLearning Mode:
- Tap a category card (e.g., Animals ๐พ)
- Swipe through flashcards
- Tap cards to flip and reveal the word
- Drag cards left/right to navigate
Game Mode:
- Select a category to play
- Match words with images
- Track your child's score and moves
- Celebrate with confetti on success!
Progress Tracking:
- View overall statistics
- Check category-specific progress
- See unlocked achievements
- Monitor success rates
Adding Custom Flashcards:
let newCard = Flashcard(
word: "Elephant",
imageName: "elephant",
translations: ["es": "Elefante", "fr": "รlรฉphant"],
category: .animals,
difficulty: .medium
)
store.addFlashcard(newCard)Creating New Categories:
// In Flashcard.swift
enum Category: String, Codable, CaseIterable {
case vehicles = "Vehicles"
var icon: String {
case .vehicles: return "๐"
}
var color: Color {
case .vehicles: return .blue
}
}EarLiLy/
โโโ EarLiLy.xcodeproj/ # Xcode project
โโโ EarLiLy/
โ โโโ EarLiLyApp.swift # App entry point
โ โโโ Models/
โ โ โโโ Flashcard.swift # Data model
โ โ โโโ FlashcardStore.swift # State management
โ โโโ Views/
โ โ โโโ ContentView.swift # Main navigation
โ โ โโโ FlashcardView.swift # Interactive flashcard
โ โ โโโ GameView.swift # Matching game
โ โ โโโ ProgressView.swift # Analytics
โ โโโ Helpers/
โ โ โโโ AnimationHelpers.swift # Reusable animations
โ โโโ Assets.xcassets/ # Images & colors
โโโ SETUP.md # Detailed setup guide
โโโ build.sh # Build script
โโโ README.md # This file
Built specifically for toddlers with:
- Large touch targets for small fingers
- High contrast colors for visual appeal
- Immediate feedback on every interaction
- Positive reinforcement with celebrations
- Simple navigation with clear icons
- Minimal text - emojis communicate meaning
- Forgiving UX - easy error recovery
NEW! Automated batch image generation using Google Imagen 3 AI:
cd tools
./setup.sh # Setup environment
python3 test_generation.py # Test with 3 sample words
python3 generate_images_imagen.py earlily_vocab_list.md # Generate all 1000+ imagesFeatures:
- โจ 1000+ vocabulary words from research-validated sources
- ๐จ Toddler-optimized prompts - Bright colors, white backgrounds
- ๐ฆ Automatic Xcode integration - Ready-to-use imagesets
- ๐ Smart resume - Pick up where you left off
- ๐ Progress tracking - Real-time status
See tools/README.md for complete guide.
- Sound effects and voice narration
- Camera integration for custom photos
- iCloud sync across devices
- Parent controls and settings
- More game modes (spelling, listening)
- Virtual rewards and sticker system
- VoiceOver accessibility support
- Multilingual UI support
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See SETUP.md for detailed development guidelines.
EarLiLy is released under the MIT License. See LICENSE for details.
- Built with โค๏ธ for Lily
- Inspired by early childhood learning principles
- Powered by SwiftUI and modern iOS frameworks
Made with love for toddlers learning their first words ๐ผ๐ถ๐