Build a vocabulary deck once. Practice it in five different ways.
Picards AI is a Flutter-based language-learning app that turns vocabulary into interactive flashcards, image challenges, contextual exercises, and AI-generated stories. Choose your native and target languages, create custom decks, and keep practicing with short, varied sessions.
- Custom vocabulary decks — create, edit, and delete decks stored locally on the device.
- AI-assisted card creation — generate example sentences, translations, and memorable illustrations for new words.
- Five practice modes
- Classic flashcards
- Translation quizzes
- Find the word from an image
- Fill-in-the-blank exercises
- Contextual question-and-answer practice
- Story Time — generate a story that naturally uses words from your decks.
- Daily Marathon — practice a fresh collection of words through multiple exercise types.
- Multi-language onboarding — independently select the language you speak and the language you want to learn.
- Offline persistence — decks and cards are saved in a local SQLite database.
- Flutter and Dart
- Firebase AI Logic with Gemini
- Firebase Storage
- SQLite (
sqflite) for local data - Provider for state management
- Shared Preferences for onboarding and language settings
Before running the project, install:
- Flutter SDK with Dart 3.8.1 or newer
- Android Studio or Xcode, depending on your target platform
- Firebase CLI and FlutterFire CLI
- A Firebase project with AI Logic and Storage enabled
Check that your Flutter environment is ready:
flutter doctor-
Clone the repository:
git clone https://github.com/dnizfor/picards.git cd picards -
Install the dependencies:
flutter pub get
-
Connect the app to your own Firebase project:
flutterfire configure
This generates the platform-specific Firebase configuration and updates
lib/firebase_options.dart. Ensure that your Firebase project also contains the required Android/iOS configuration files. -
In the Firebase console:
- Enable Firebase AI Logic with the Vertex AI Gemini API provider.
- Enable Firebase Storage.
- Configure Storage rules appropriate for your environment.
-
Run the app:
flutter run
- Select your native language and the language you want to learn.
- Create a deck and add vocabulary.
- Picards generates examples and illustrations to enrich each card.
- Pick a deck and choose a practice mode.
- Reinforce your vocabulary through quizzes, stories, or a full marathon.
lib/
├── models/ # Deck and flashcard data models
├── providers/ # Language and practice state
├── screens/ # Main application screens
├── services/ # SQLite, Firebase AI, and email services
├── utils/ # Shared helpers and enums
└── widgets/ # Reusable UI and exercise components
assets/
├── icon/ # Application icon
├── jsons/ # Bundled vocabulary data
├── lotties/ # Interface animations
└── sounds/ # Practice feedback effects
Run static analysis and tests before submitting changes:
flutter analyze
flutter testCreate a release build for your target platform:
flutter build apk
# or
flutter build ios- An internet connection is required for AI generation, translation, and remote image retrieval.
- AI-generated content may occasionally be inaccurate; review it before relying on it for learning.
- Firebase usage may incur costs depending on your project plan and traffic.
- Do not commit private credentials or production secrets to the repository.
Contributions are welcome. Fork the repository, create a focused branch, and open a pull request with a clear description of your changes.





