v0.7.0 · Chrome extension · English & Greek · free, bring your own key

BlankStare

A free Chrome side panel that rewrites developer docs, error messages and terminal output into plain English or Greek, as you read. Bring your own free Groq key.

Install ·Full guide ·Source ·Privacy

What it does

Translates, not explains

Select a paragraph of docs or an error and read a plain rewrite of it instead. No "this means…".

Four reading levels

ELI5, Newbie, Standard or Vibecoder. Switch and re-run in one click.

English or Greek

The whole panel, the answers and the read-aloud voice, in either language.

Jargon list

Every technical term on the selection, each with a two-to-ten word definition.

Free, your own key

Runs on Groq's free tier with your key. Nine models, and it hops to the next when one is busy.

Asks for little

Talks to Groq and, if you want, YouTube. Your private search server is asked for by name, only when you test it.

Showcase

Dev

BlankStare is a Manifest V3 Chrome extension with no build step. Load the folder unpacked and it runs; npm test exists only for the Node test suite.

Architecture

Part File Job
Service worker background.js Context menu, keyboard commands, opens the side panel. chrome.sidePanel.open() must run synchronously inside the user gesture, so nothing is awaited before it.
Content script utils/pure.js, content.js Tracks the selection and draws the floating button inside a closed shadow root. The host element pins its own layout inline at !important, because the page’s CSS beats :host by spec.
Side panel sidepanel/* Streaming UI, i18n (EN/EL), history, TTS, glossary, follow-ups.
Settings settings/* Keys, model, voice, search provider, triggers, exclude list.
API layer utils/api.js Groq chat (SSE), Groq TTS (Orpheus), YouTube Data v3, SearXNG with DuckDuckGo fallback.
Pure logic utils/pure.js SSE reassembly, URL filtering, domain exclusion, Greek detection, prompt building. Never touches chrome, document, window or fetch.

Streaming

explainWithGroq({ apiKey, model, systemPrompt, userPrompt, maxTokens, autoFallback, signal, onChunk, onDone, onError, onStatus }).

  • Frames, not chunks. createSSEParser() buffers the incomplete tail of each network read. Splitting each chunk on \n on its own silently drops any data: line that straddles two reads.
  • Cancellation. Three independent AbortController lanes in the panel (translation, glossary, follow-up question), so a new request replaces its own predecessor only.
  • Failure mid-stream returns the partial text through onDone with a notice, never a hung cursor.
  • Token budget per mode: 700 for normal and rephrase, 1400 for “go deeper” and full-page.
  • Auto-fallback walks a nine-model registry on HTTP 429.

Permissions

  • host_permissions: https://api.groq.com/*, https://www.googleapis.com/*.
  • optional_host_permissions: http://*/*, https://*/*, used for one origin only: the user’s SearXNG server, requested by chrome.permissions.request from the settings Test button (it needs a gesture). searchWeb() checks chrome.permissions.contains first.
  • content_scripts.matches is <all_urls>, which alone causes Chrome’s “read and change all your data” warning. It stays, because the button must already exist when a selection happens.
  • Every remote string that becomes an href or src passes safeUrl() (http/https only).

Storage

chrome.storage.sync for settings, chrome.storage.session for the last 20 results (survives the panel closing, cleared with the browser). The panel listens with storage.session.onChanged; no polling.

Look

Deco Noir, vendored in vendor/. Panel data-dress="working", settings plain. Display face per glyph via unicode-range: Poiret One (Latin) and GFS Didot (Greek), all self-hosted in fonts/.

Test and preview

npm test                          # node --test, pure logic
npx http-server . -p 8123 -c-1    # then open lab/preview.html

In plain English

BlankStare is a free add-on for Google Chrome. It opens a panel at the side of your browser. When you read something written for programmers, like an error message, a setup guide or a page of documentation, you select it, and the panel rewrites it in plain English or Greek.

It does not add notes on top of the original. It gives you a version you can read instead of the original.

What you need

  • Google Chrome (or Edge, Brave, or another browser built on Chrome).
  • A free key from Groq, the company whose computers write the answers. It takes about three minutes to get one and costs nothing.

How you use it

  1. Open the panel with the toolbar button or Alt + Shift + B.
  2. Select the confusing text on any web page.
  3. Press the small brass button that appears, or right-click and choose Explain with BlankStare.
  4. Read the answer as it appears.

From there you can:

  • Change the reading level, from “explain it to a child” up to “I build things with AI tools”, and ask again.
  • Go deeper for more detail, or Rephrase for a different wording.
  • See the jargon list: every technical word, with a short meaning.
  • Hear it read aloud, in English or Greek.
  • Summarise the whole page in a few points.
  • Ask your own question about what you selected.
  • Look through your last 20 answers.

Your privacy

  • The text you select goes to Groq to be rewritten, or the whole page if you ask for a summary.
  • Video and web searches go to YouTube or your search engine, only when you use them.
  • Your keys are kept in your own browser.
  • If you use your own search server, Chrome asks you to allow that one address, once. Say no and BlankStare uses DuckDuckGo instead.
  • You can switch BlankStare off completely for any website you choose.

Cost

Nothing. Groq’s free allowance covers normal use. If one of its models is busy, BlankStare can move to the next one by itself.

Like I’m five

Some grown-ups write in a secret language full of strange words. Programmers do this a lot.

BlankStare is a helper that lives at the side of your web browser. When you see words you don’t understand, you colour them in with your mouse, press a little button, and the helper says the same thing again in easy words.

  • If it’s still too hard, you can ask it to make it even easier.
  • If you want to know more, you can ask it to say more.
  • It can speak English or Greek, and it can read the words out loud to you.

To work, it borrows a very clever computer from a company called Groq. They let you use it for free. You just need your own ticket, which is called a key.

It only reads the words you colour in, unless you ask it to read the whole page.

Walkthrough: your first translation

  1. Install. Download the code, open chrome://extensions, switch on Developer mode, press Load unpacked and pick the folder. Settings opens by itself.
  2. Get a free key. Sign in at console.groq.com, make an API key, paste it into AI Engine and press Test, then Save.
  3. Open the panel. Click the toolbar icon, or press Alt+Shift+B.
  4. Select something confusing on any page: an error, a README paragraph, a line of terminal output. Press the small brass button that appears, or right-click → Explain with BlankStare.
  5. Read the translation as it streams in. Too hard? Change the level and press Re-explain. Want more? Go deeper.
  6. Optional: add a YouTube key for videos on the topic, or your own SearXNG server for search. Chrome asks you to allow that one server when you press Test.
Playground: the extension's own logicCtrl + Enter