All projectsFlutter / AI product

AI Chat Bot Flutter

An open-source Flutter application that wraps Gemini in a mobile conversation experience with local chat history and a maintainable Android toolchain.

Scope: Flutter engineering · AI interface design · Open-source maintenance

The problem

What had to work beyond the model.

An AI API is not a mobile product by itself. The interface needs clear conversation behavior, local persistence, sensible setup, and an approachable path for contributors.

Community

The public repository has visible open-source interest; current stars and forks are shown from the GitHub snapshot on the page.

Product

Implements a conversational Gemini interface with local history and app-level navigation.

Maintenance

Documents modern Android Gradle, Kotlin, and Java compatibility updates for contributors.

System at a glance

How the pieces connect.

  1. 01Conversation UI

    The Flutter interface manages message composition, response rendering, auto-scroll behavior, and image selection.

  2. 02App state

    Provider-based state management keeps loading, conversation, and navigation behavior organized across the app.

  3. 03AI connection

    Gemini requests are configured through the app environment, while Markdown rendering keeps responses readable.

  4. 04Local continuity

    Hive-backed history preserves conversations locally so the product experience survives a single screen session.

Key engineering decisions

Choices that make the system usable.

  1. 01

    Used Flutter to focus on the interaction layer around an AI capability rather than presenting a bare API call.

  2. 02

    Kept local history in the product so the conversation experience survives beyond a single screen session.

  3. 03

    Kept environment and API-key setup explicit so a contributor can run the app without hard-coding secrets.

  4. 04

    Modernized the Android toolchain around Gradle 8.14, AGP 8.11.1, Kotlin 2.2.20, and Java 17 for current Flutter tooling.

Verification path

How the work can be inspected.

  • The repository documents environment setup, dependency installation, and the Android compatibility path for contributors.
  • Local persistence, state management, response rendering, and scrolling behavior are visible product-level concerns rather than hidden behind one API call.
  • Stars and forks are rendered from the current GitHub repository snapshot instead of being used as a fixed marketing claim.
Current boundary

Local history does not make the model offline-capable, and this case study does not claim an App Store or Play Store release, engagement metrics, or production adoption.

Technical stack
FlutterDartGeminiHiveProviderMarkdownAndroidiOS
Want to discuss a similar system?

Let’s make the hard part usable.

Start a conversation