theodedra 4 months ago

Hi HN,

I built Nano Prompt UI, a Chrome side panel that runs entirely on-device using Chrome’s Gemini Nano API.

What it does

Side panel chat UI that sits next to whatever tab you’re on

One-click “Summarize tab” (7 bullets) using the page’s text content

Multiple chat sessions with rename / duplicate / export to Markdown

Prompt templates, image attachments (downscaled in-browser), mic input, and read-aloud replies

Why I built it I wanted something like the ChatGPT sidebar, but:

no accounts or servers

safe to use with NDA’d docs or internal tools

still usable when I’m offline / on flaky Wi-Fi

How it works

Chrome MV3 extension with side panel UI

Uses chrome.ai.languageModel / Gemini Nano for all completions (no network calls)

Simple heuristics to decide when to include page context vs just answer the question

Sessions + settings (temperature, top-K, custom system prompt) are stored locally in chrome.storage

No backend; I don’t run any servers and nothing is sent off-device

Limitations

Requires a recent Chrome build with the on-device model enabled (details in the README)

Only tested on desktop Chrome so far

Context/window size is whatever Chrome exposes for Nano right now, so huge pages get truncated

Repo (with install + flags): https://github.com/theodedra/nano-prompt-ui

I’d love feedback on:

UX of the side panel vs popup

The way I’m handling page context (when to include tab text, when not to)

Any ideas to keep it privacy-first but more powerful (better summaries, code workflows, etc.)

Happy to answer implementation questions in the comments.