scrollmate

ScrollMate

Auto-scroll any web page — vertically or horizontally — at the speed you choose.

ScrollMate banner

A lightweight Chrome extension (Manifest V3) that scrolls any web page for you, with full control over speed, direction, number of passes, and an infinite loop mode. Available in English, French, Spanish, German and Italian.

Features

Install (development mode)

  1. Clone or download this repository.
  2. Open chrome://extensions/ in Chrome.
  3. Enable Developer mode (top right).
  4. Click Load unpacked and select the project folder.
  5. The ScrollMate icon appears in your toolbar.

Usage

  1. Click the ScrollMate icon.
  2. Pick a direction, set the speed (px/s) and number of passes — or toggle Infinite.
  3. Hit Start. The page begins scrolling.
  4. Stop it by clicking Stop, or simply touch the mouse wheel / press an arrow key.

Project structure

manifest.json          Manifest V3 declaration
popup.html / .css / .js   Popup UI
content.js             Injected scroll engine (rAF loop, manual-scroll detection)
icons/                 PNG icons (16/32/48/128) + SVG source
_locales/              i18n bundles (en, fr, es, de, it)
store/                 Chrome Web Store submission kit (banners + listing texts)
PRIVACY.md             Privacy policy (EN, with translations: .fr, .es, .de, .it)

Build a release zip

The zip uploaded to the Chrome Web Store is regenerated from source:

zip -r scrollmate-1.0.0.zip \
  manifest.json content.js popup.html popup.css popup.js \
  _locales icons/icon-16.png icons/icon-32.png icons/icon-48.png icons/icon-128.png

The store/ folder and source SVGs are not included — they are repository assets only.

Adding a new language

  1. Create _locales/<code>/messages.json (copy _locales/en/messages.json as a template).
  2. Translate every message field. Keep the keys unchanged.
  3. Reload the extension. Chrome will use the new locale automatically when the browser language matches.

No code changes needed — the popup wires translations dynamically via chrome.i18n.getMessage.

Privacy

ScrollMate collects no data. All preferences are stored locally on your device. See PRIVACY.md for the full policy (also available in FR, ES, DE, IT).

Contact

Open an issue on this repository, or email yoanncooljazz@gmail.com.