Creating a multiplayer crossword with Gemini, Flutter, and Firebase

Learn how the Google engineering teams created a multiplayer crossword using Gemini, Flutter, and Firebase.

 

Overview: Creating a multiplayer crossword with Gemini, Flutter, and Firebase

Video

For Google I/O this year we built a multiplayer crossword puzzle using a combination of Google technologies including Gemini, Google Cloud, Flutter, Firebase and more. By completing this solution, you'll learn about the project itself - a crossword puzzle that anyone in the world can solve collaboratively via a web game interface - and what was necessary for us to create this experience using Gen AI. After trying the game and reading through the blog posts, you will complete two codelabs that focus on the Flutter UI needed to render the crossword and how Firebase Genkit - the technology behind the generative AI hints system - works. Finally to earn the developer badge associated with this solution you will complete the quiz at the end.

Google AI Studio: Get your Gemini API Key

Code sample

To access the Gemini API you will need an API key. Visit Google AI Studio to create and manage your API keys for Gemini.

I/O Crossword: How we built it

Article

Learn how we broke down the challenge of creating a multiplayer crossword powered by generative AI and chose which Google technologies we would use to solve the problem.

Creating a digital crossword puzzle, powered by AI

Article

Discover how we laid out the overall architecture, decided where to place the generative AI features and how to use them optimally in the experience. You'll learn why we chose Genkit to power the AI for the in-game clue hinting and why Flutter was a great choice for the rendering of the UI without going as far as adopting the dedicated Flame game engine.

Developing AI-powered hints for the I/O Crossword with Genkit

Article

In this blogpost you will gain a deeper understanding of how Genkit was used to power the in-game clue system by exploring how to create a JSON prompt template in Genkit and best practices for passing parameters into your prompts at runtime.

Build a word puzzle with Flutter

Codelab

Rendering the UI of the I/O Crossword experience requires a frontend SDK with high performance. In this codelab, you will learn how to build a compute-intensive Flutter app and still maintain Flutter's fluid interactivity for this purpose.

I/O Crossword and Firebase Extensions with the Gemini API

Codelab

Genkit is a new Firebase feature we leveraged in the crossword to power the AI of the clue hinting experience. In this codelab, you will learn how to use Firebase Extensions with the Gemini API to build a web app with AI-powered features, like personalized recommendations. This is a great introduction to Genkit that can help familiarize you with the product before exploring the crossword codebase further.