# Crosswords, Agents, and Flutter

Source: https://www.youtube.com/watch?v=SgVUYD9WloY
Recap page: https://rapidrecap.app/video/SgVUYD9WloY
Generated: 2025-11-12T21:05:57.599+00:00

---
## Quick Overview

Andrew Brogdon from the Flutter team demonstrates an open-source demo application that uses the Gemini AI agent to solve crossword puzzles, showcasing how this combination creates a powerful tool for developers by handling complex workflows like image processing, data extraction, and UI rebuilding.

**Key Points:**
- The demonstration features an open-source demo app, "Flutter Crossword Companion," which uses a Gemini AI agent to solve crossword puzzles from photos.
- The process involves capturing the crossword image, verifying grid size and content, and then sending the data to Gemini via Firebase for AI processing.
- The AI agent performs steps like data extraction, text inference, and clue analysis, ultimately solving the puzzle.
- Brogdon highlights that LLM-based agents are excellent for tasks with well-defined goals, like crossword solving, which plays to their strengths.
- A key requirement for this successful workflow is keeping a human in the loop for necessary correction and verification steps.
- Flutter is superior for this application because it excels at making the user interactions—like tapping cells or rebuilding the UI as data streams in—fast and pleasant across platforms.
- The presenter notes that while the AI handles 90% of the work (like OCR and summarization), the final 10% often requires human input for accuracy.

![Screenshot at 00:30: The initial screen of the "Companion" app showing the multi-step process for solving a crossword puzzle, starting with selecting the crossword image.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-00-30.png)

**Context:** Andrew Brogdon, a Developer Relations Engineer on the Flutter team, introduces a new open-source demonstration application designed to leverage Generative AI (specifically the Gemini model) to solve complex tasks, using a crossword puzzle solver as the primary example to illustrate the agent's capabilities in a Flutter environment.

## Detailed Analysis

Andrew Brogdon presents the "Flutter Flight Plans" demo featuring an app called the "Flutter Crossword Companion," which uses a Gemini AI agent to solve crossword puzzles captured via a mobile device's camera. The workflow is broken down into sequential steps shown on the phone screen: selecting the image, verifying grid size, inferring content data (which can take a couple of minutes), verifying grid clues, and finally solving the puzzle. Brogdon emphasizes that LLM-based agents are effective for problems with well-defined goals, such as crossword solving, because these tasks leverage the AI's strengths in pattern recognition and language understanding. The process involves sending the image data to Gemini through Firebase for analysis, which extracts data, verifies contents, and infers clues. The speaker notes that while the AI handles the majority (90%) of the complex work, the remaining 10% often requires human intervention for correction and verification, underscoring the necessity of keeping a human in the loop. He concludes by stating that Flutter is ideal for building such applications because it provides a fast and seamless UI experience, allowing developers to reactively rebuild the UI as data streams in from the AI agent, making the entire interaction pleasant across multiple platforms.

### Crossword Companion Workflow

- Select crossword image
- Verify grid size and contents using AI inference
- Verify clues
- Solve the puzzle

### Suitability for Generative AI

- Well-defined goal
- Plays to LLM strengths (language/pattern recognition)
- Needs human in the loop for verification

### Flutter's Role in Agent Interaction

- Provides reactive UI updates as data streams in
- Enables fast and easy interaction across platforms
- Ideal for building tools where human correction is required

![Screenshot at 00:01: Visual of abstract geometric shapes floating in a dark, stylized space, typical of an introductory animation.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-00-01.png)
![Screenshot at 00:13: Andrew Brogdon, Developer Relations Engineer for the Flutter team, introducing the open-source demo.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-00-13.png)
![Screenshot at 00:29: The mobile application interface showing the initial step: "Select crossword image" within the "Companion" app.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-00-29.png)
![Screenshot at 00:31: The app screen showing the photo selection interface overlaid on the crossword grid, with a privacy access warning displayed.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-00-31.png)
![Screenshot at 00:34: The application progress screen showing the AI inference step: "Inferring content data... \(This could take a couple of minutes\)".](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-00-34.png)
![Screenshot at 01:05: A modal window titled "Edit Cell" appears over the grid, offering options to mark a cell as Empty, Black, or Numbered.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-01-05.png)
![Screenshot at 01:28: The puzzle grid partially filled with letters, indicating the AI agent has begun generating solutions.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-01-28.png)
![Screenshot at 03:07: A slide summarizing the first criteria for successful AI agent use: a 'Well-defined goal'.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-03-07.png)
![Screenshot at 03:30: A slide summarizing the three key criteria for effective LLM agent use: 'Well-defined goal', 'Plays to LLM strengths', and 'Needs human in the loop'.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-03-30.png)
![Screenshot at 04:05: A visual representation showing the flow from the initial crossword photo on the left to the solved grid on the right, indicating the AI processing step.](https://ss.rapidrecap.app/screens/SgVUYD9WloY/00-04-05.png)
