Skip to content

Chrome Extension · Shipped

CoffeeCat

Focus without network access.

A privacy-first focus timer Chrome extension with no backend, no analytics, and no host permissions.

  • 0NETWORK CALLS
  • 0DEPENDENCIES
  • 0ACCOUNTS

Testing whether a tool can be genuinely useful with zero access to your data.

Case study

Timer

Local sync over a backend.

I chose chrome.storage.sync over a backend because focus sessions should follow a Chrome profile without an account or a new data surface. The cost is quota and per-profile storage limits, but that is a better constraint than building a service just to store a timer.

Permissions

The manifest is the privacy policy.

The extension requests no host permissions, so Chrome will not grant it page content — even if the code asks.

No backend to breach. No dependencies to audit.

Surprise

The sync boundary is a real boundary.

The useful surprise was that a zero-backend product still has distributed-state behavior: profiles can be offline, delayed, or at quota. I kept the timer useful locally and made the sync layer additive instead of making a session depend on it.

Next pass

Cut accounts before adding features.

Next time I would cut social or analytics features before widening the permission surface. The product is strongest when the manifest stays legible at a glance.

Craft

Artwork generated, not exported.

A Python tool renders the sprites. A test fails if the popup and this site drift apart.