DEV Community

Mohan
Mohan

Posted on

I built a local-only Chrome extension with 30+ tools and no backend

Weekend project to scratch an itch: I had five separate extensions — screenshot, dark mode, reading mode, QR, link cleaner — each eating a toolbar slot, a couple clearly monetizing my data. So I rolled them into one draggable floating button that fans open into a radial menu of ~30 actions.
A few decisions worth noting:

No backend, no analytics, zero network calls. Everything runs locally. That constraint makes the privacy story trivially honest and removes all the server/auth/policy overhead. If a feature needed a server, it didn't make the cut. Bundle's ~50KB.
Vanilla JS, MV3, Shadow DOM. Since it injects into every page, I wanted it tiny — no framework. Shadow DOM to isolate the button from host-page CSS, which killed a whole class of style-collision bugs.
The radial menu — not sure it was right. Looks great, feels nice for 5–6 items, but past that I doubt it beats a plain list for scanability (Fitts's law hates small icons on an arc). Kept it for the aesthetic. Curious if anyone's actually measured this.

It's on the Chrome Web Store if you want to poke at it (disclosure: I'm the dev, free, no account, no telemetry). Mostly posting for the discussion though — how would you have handled the menu layout?

FloatDeck - Floating Button Menu & Quick Actions - Chrome Web Store

A draggable floating button that opens a radial menu of quick actions — screenshots, reading & dark mode, QR, copy, and more.

favicon chromewebstore.google.com

Top comments (0)