Live · v0.4.1
A reading layer for search · est. 2025
Index Principles Mechanism Plates Specifications Source ↗ Install

Arcks/

Issue №01
A reading layer for search By Rahul
Open source · MIT
01 — Lede The case against the blind click

Read the page before
you open the tab.

Search is full of dead ends — pages that promise an answer and deliver an ad. Arcks intercepts the hover, fetches the target through a Cloudflare Worker, and renders a three-bullet summary in the time it takes you to decide. The web stays open. The friction goes away.

Install for Chrome Read the source No telemetry · No account · MIT
In this issue№01 · 05 sections

An index of what's inside.

Section №01Principles

Six rules the extension was designed around.

P / 01Latency

~350ms or it didn't happen.

A hover that returns slower than a click isn't a preview, it's a delay. The worker streams, the extension paints incrementally, and the median round trip stays under 350ms.

P / 02Memory

Two caches, no history.

A 30-minute KV cache on the worker and a 10-minute in-memory cache in the extension. Identical hovers cost zero. Nothing about your browsing is persisted past these windows.

P / 03Privacy

No account. No log.

Arcks does not require sign-in, does not retain your queries, and does not log URL→summary pairs. The worker fetches anonymously and forgets.

P / 04Provider

Bring your own model.

Default is Gemini 2.5 Flash. Swap to any OpenRouter model in the options. The summary prompt is portable; the cost stays yours.

P / 05Surface

Three bullets is the answer.

Every card returns a headline plus three structured bullets. Not a paragraph, not a teaser. The card is the answer, not the bait.

P / 06Source

Open, hackable, yours.

MIT-licensed extension and worker. Fork the repo, point it at your own Cloudflare account, change the model. The defaults are good. The defaults are also optional.

Section №02Mechanism

From hover to summary, in three deliberate steps.

Step 01

A 350ms hover commits — anything faster is a flyover.

A content script watches Google's result list and debounces every hover. When the timer fires, Arcks captures the destination URL and dispatches a single message to the background service worker. Nothing leaves the browser yet.

Step 02

A Cloudflare Worker fetches, strips, and summarizes.

The worker pulls the target page server-side, dodging CORS and client-side scraping. The body is stripped to readable text and sent to gemini-2.5-flash with a structured-output schema. KV checks happen before the model is even pinged.

Step 03

A card paints next to the link, three bullets deep.

The response — headline, three bullets, source host — is rendered inline as a positioned card. The extension also stamps a share button, a latency badge, and a fallback for paywalled or empty pages. The next identical hover costs zero.

Section №03Specimen

The anatomy of a single preview.

Subject Hover preview, card variant Generated by gemini-2.5-flash Round-trip 348 ms · cold start Cache state KV miss → write Schema headline + bullets[3] Pulled from linear.app/features
SPECIMEN №01 348 ms
linear.app › features
Modern project management for fast-moving engineering teams.
  • 01Built for speed — real-time sync, keyboard-first navigation, sub-100ms transitions across boards and views.
  • 02Aimed at early-stage startups and product engineering teams shipping continuously.
  • 03Free for small teams, paid plans from $8 / user / month with unlimited issues.
Cached for 30 min · KV ↗ Share
Section №04Plates in the wild

Five samples pulled from real hovers.

№01openclaw.ai 01 / 05
Arcks preview card on an OpenClaw Google Search result
Arcks preview card on a Hermes Agent search result
Arcks preview card on a Medium article about NVIDIA DGX Spark
Arcks preview card on Anthropic Claude Mythos Preview result
Arcks preview card on The Verge archives result
№01 · openclaw.ai Search result, in context P.16
Swipe · click the edges · or press
Section №05Specifications

The technical envelope.

Extension Chrome / Chromium · Manifest V3 001 / 010
Backend Cloudflare Workers + KV namespace 002 / 010
Default model gemini-2.5-flash 003 / 010
Alternate model Any openrouter.ai route 004 / 010
Median latency ~350 ms cold · <40 ms warm 005 / 010
Worker cache KV · 30 minutes per URL 006 / 010
Client cache In-memory · 10 minutes 007 / 010
Hover threshold 350 ms debounced 008 / 010
Telemetry None. Anonymous origin enforced. 009 / 010
License MIT · © 2025 Rahul 010 / 010

Stop opening tabs you were never going to read.