A smart and intuitive chat application powered by Gemini AI, built using Flutter. The app allows users to chat with an AI assistant, browse past conversations, and enjoy a seamless chat experience with smooth scrolling and a modern UI.
This project demonstrates how to integrate Google’s Generative AI (Gemini) with a Flutter-based chat interface. The chatbot responds in real time, stores your conversations locally, and provides a smooth user experience similar to modern messaging apps.
Whether you're learning Flutter, building your first AI app, or experimenting with conversational UIs — this project is a great starting point.
- Real-time two-way communication with the Gemini AI chatbot
- Auto-scrolling to the newest message
- Markdown-supported responses for rich content
- View all previous conversations
- Locally saved using Hive for fast and offline-ready storage
- Stores messages and optional app data
- Efficient, secure, and fast NoSQL storage with hive and hive_flutter
- Pick images from gallery or camera using image_picker
- Useful for future AI vision integration
- Built using Provider, keeping the app scalable and easy to maintain
This app uses the following Flutter packages:
fluttergoogle_generative_ai— Gemini AI integrationflutter_markdown— Render formatted markdown contentprovider— State managementhive&hive_flutter— Local storageimage_picker— Selecting imagespath_provider— File system accesscupertino_icons— iOS-style iconsflutter_spinkit— Loading animationsflutter_dotenv— Load API keys from.envuuid— Generate unique message IDs
Follow the steps below to run the project on your device.
Make sure Flutter & Dart are installed: https://docs.flutter.dev/get-started/install
git clone <your-repository-url>
Visit Google AI for Developers: https://ai.google.dev/
Create a .env file in the project root:
API_KEY=YOUR_GEMINI_API_KEY
Navigate to the project folder:
flutter pub get
flutter run
Once inside the app, you can:
- 📜 View chat history stored locally
- 💬 Start a new chat with Gemini
- 🧑 Access your profile or settings
- ⚡ Enjoy real-time responses and smooth navigation
The UI is designed to feel familiar and responsive, making it easy for anyone to interact with the AI system.
We welcome contributions! If you have ideas, improvements, or bug fixes:
- Fork the repo
- Create a new branch
- Commit your changes
- Submit a pull request
Your contributions help make the project better for everyone.
