explaingit

nay-cat/chromechat

14JavaScriptAudience · generalComplexity · 2/5ActiveSetup · moderate

TLDR

An in-browser chat app that runs Gemini Nano on Chrome or Phi-4 on Edge entirely on the local device, with no server and no API key.

Mindmap

mindmap
  root((chromechat))
    Inputs
      User messages
      Attached files
      System prompt
    Outputs
      Chat replies
      Markdown rendering
      crchat exports
    Use Cases
      Chat with a local LLM offline
      Attach PDFs and images
      Export and import history
    Tech Stack
      JavaScript
      Chrome Prompt API
      LocalStorage
      IndexedDB

Things people build with this

USE CASE 1

Chat with a local LLM offline once the model is downloaded

USE CASE 2

Attach PDFs, images, and code files to a prompt

USE CASE 3

Export a full conversation with attachments as a .crchat file

USE CASE 4

Customize the system prompt to shape a private assistant

Tech stack

JavaScriptChrome Prompt APILocalStorageIndexedDB

Getting it running

Difficulty · moderate Time to first run · 30min

Needs Chrome 148+ with the Prompt API flag enabled and about 4 GB of free space for the Gemini Nano model download.

In plain English

ChromeChat is a chat application that runs an AI model directly inside your browser. Once you visit the page and let it set up, you can keep talking to the AI even with no internet connection. There is no server behind it and no API key to manage, since the model lives on your own machine. The AI used is either Google's Gemini Nano on Chrome or Microsoft Edge's Phi-4, both of which the browsers can download and run locally. To use it, you need a recent version of Chrome (148 or later) and about 4 GB of free storage for the Gemini Nano model. You also need to turn on a browser flag at chrome://flags/#prompt-api-for-gemini-nano and have a compatible GPU and CPU. Edge users need a similar flag for its Phi model, which takes around 2.4 GB instead. The page checks compatibility automatically when you first open it and walks you through downloading the model. After that, the chat works offline. The chat itself offers normal features for this kind of tool. It saves your history locally so you can return to old conversations, lets you attach images, PDFs, text files, and code files, and renders Markdown with syntax highlighting. You can also export a chat to a file with the .crchat extension and import it back later. The app supports English, Spanish, and Japanese, and you can customize the AI's name, your name, and the system prompt that shapes how it answers. Data storage stays on your device. Chat text goes into LocalStorage, which has a 5 MB cap, so the oldest chats are pruned when it fills up. File and image attachments go into IndexedDB, which handles larger binary data. When you export a chat, attachments are bundled into the file so the export is self-contained. Nothing leaves the browser, though the author jokes about the small caveat that the whole thing still runs inside Google Chrome.

Copy-paste prompts

Prompt 1
Enable the chrome://flags/#prompt-api-for-gemini-nano flag and confirm ChromeChat finishes its compatibility check
Prompt 2
Add Russian as a fourth interface language alongside English, Spanish, and Japanese
Prompt 3
Replace LocalStorage with IndexedDB for chat text so the 5 MB cap no longer prunes old conversations
Prompt 4
Add support for a fourth attachment type such as audio files and store them in IndexedDB
Prompt 5
Switch the default model from Gemini Nano to Edge Phi-4 and update the compatibility check accordingly
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.