Skip to content

Repository files navigation

Picards AI - Ai Vocabulary Flashcards

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.

Highlights

  • 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.

Built With

Getting Started

Prerequisites

Before running the project, install:

Check that your Flutter environment is ready:

flutter doctor

Installation

  1. Clone the repository:

    git clone https://github.com/dnizfor/picards.git
    cd picards
  2. Install the dependencies:

    flutter pub get
  3. 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.

  4. 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.
  5. Run the app:

    flutter run

How It Works

  1. Select your native language and the language you want to learn.
  2. Create a deck and add vocabulary.
  3. Picards generates examples and illustrations to enrich each card.
  4. Pick a deck and choose a practice mode.
  5. Reinforce your vocabulary through quizzes, stories, or a full marathon.

Project Structure

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

Development

Run static analysis and tests before submitting changes:

flutter analyze
flutter test

Create a release build for your target platform:

flutter build apk
# or
flutter build ios

Screenshots

Notes

  • 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.

Contributing

Contributions are welcome. Fork the repository, create a focused branch, and open a pull request with a clear description of your changes.

About

language learning with ai flashcards

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages