Flint: Google Chrome Built-in AI Challenge 2025

Inspiration

I wanted to see how far I could push Gemini Nano, Chrome’s on-device AI, and whether it could actually power a fast, useful, real-time writing tool. I’ve always liked the idea of an editor that feels alive while you’re typing, not something you have to copy and paste into.

What I Learned

This was my first Chrome extension, so everything from the manifest to the side-panel APIs was new to me. I learned a lot about how Chrome handles permissions, security boundaries, and messaging between background and content scripts. I also learned how capable Gemini Nano is when it comes to context awareness and working offline.

How I Built It

I used Kiro to help fill the gaps in my knowledge, mostly around handling UI events and structuring the state logic. The app was built with React and TypeScript and connects directly to Chrome’s built-in AI APIs.

Flint includes

  • Generate, Rewrite, and Summarize panels
  • Context-aware AI interactions
  • Voice input for prompts and text fields
  • Snapshot saving and version restoration
  • Custom highlight and user focus logic for seamless tool switching

Challenges

The hardest part was dealing with Chrome’s side-panel and security restrictions. You can’t open the panel programmatically from the webpage, so I had to build a handoff system between the page and the extension. Positioning UI elements like the floating mini bar over selected text was also tricky, especially across different websites.

Reflection

I built this entire project myself, learning as I went. What started as a small experiment turned into a full writing environment powered entirely by Chrome’s on-device AI. It taught me that with enough patience and curiosity, you can build something meaningful even if it’s your first time using the platform.

Built With

  • chrome-built-in-ai-apis-(gemini-nano)
  • chrome-extension-manifest-v3
  • chrome-rewriter-api
  • chrome-scripting-api
  • chrome-side-panel-api
  • chrome-storage-api
  • chrome-summarizer-api
  • chrome-writer-api
  • eslint
  • indexeddb
  • prettier
  • react
  • rollup
  • terser
  • typescript
  • vite
  • web-speech-api
Share this project:

Updates