Chat Mate is a Flutter AI chatbot app that allows users to interact with two different AI models: Gemini and Claude. Gemini is used in the Gemini tab for responses to user prompts, while Claude, from the Anthropic API, is used in the ChatGPT tab due to ChatGPT API keys not being available for free.
- Authentication via Google account
- Gemini tab: Uses the Gemini API for AI responses. Responses are received as streams, providing faster interaction.
- ChatGPT tab: Uses Claude from the Anthropic API for AI responses. Note that this option was chosen because the ChatGPT API key was not available for free, unlike the Gemini API.
- Clone the repository
- Run
flutter pub get - Configure Firebase for authentication and Firestore for database (details in
firebase_coreandcloud_firestorepackages documentation) - Get API keys for Gemini and Anthropic (Claude) and replace them in the code
- cupertino_icons
- intl
- google_fonts
- animated_text_kit
- flutter_svg
- local_hero
- firebase_core
- cloud_firestore
- firebase_auth
- flutter_glow
- google_sign_in
- flutter_riverpod
- google_generative_ai
- formatted_text
- cached_network_image
- shimmer
- loading_animation_widget
- dio
- flutter_native_splash
- The formatted_text package is used to format the response received from the AI models.
- Gemini responses are received as streams, providing faster interaction compared to Claude, where responses are returned only after they are completed.





