Skip to content

About

Solve a few quick math problems before distracting sites open. Free browser extension for Chrome, Zen & Firefox with per-site cooldowns.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SolveFirst

Solve a few quick math problems before distracting sites open.

SolveFirst is a free, open-source browser extension for Chrome, Zen, Firefox and other Chromium/Firefox browsers. When you open a site on your list (X/Twitter and YouTube by default), a full-page gate covers it until you answer a few multiple-choice math problems. Then that site is unlocked for its cooldown, and the gate comes back when time is up, even if you're still there.

The SolveFirst gate

  • Pick your own sites, each with its own independent timer
  • Choose how many problems, how many answer choices, and the difficulty
  • Fresh random numbers every time, generated locally (no AI, no servers, no tracking)
  • Reloading the page brings the gate back (you can turn that off)
  • Video and audio are paused and the page can't be scrolled or clicked while the gate is up

Install

Download the latest files from the Releases page.

Chrome, Edge, Brave, Arc, Opera (Chromium)

  1. Download solvefirst-<version>-chrome.zip and unzip it (or clone this repo).
  2. Open chrome://extensions (Edge: edge://extensions).
  3. Turn on Developer mode (top right).
  4. Click Load unpacked and pick the unzipped folder (the one with manifest.json).
  5. Open x.com or youtube.com. The gate should appear.

Keep the folder where it is; Chrome loads the extension from it.

Zen Browser and Firefox Developer Edition / Nightly (permanent install)

These browsers allow unsigned add-ons:

  1. Open about:config, search xpinstall.signatures.required, set it to false.
  2. Download solvefirst-<version>-firefox.xpi.
  3. Open about:addons → gear icon ⚙ → Install Add-on From File… → pick the .xpi → Add.
  4. If asked, allow it to access your data on all websites (needed to show the gate on your sites).

Regular Firefox (temporary install, until it's on addons.mozilla.org)

Regular Firefox only keeps signed add-ons. For now you can load it until the next restart:

  1. Open about:debugging#/runtime/this-firefox.
  2. Load Temporary Add-on… → pick manifest.json (from the unzipped folder) or the .xpi.

Settings

Click the SolveFirst icon in the toolbar (pin it from the puzzle-piece menu), or open the extension's Options/Preferences. Changes save automatically and apply right away, even on tabs that are already open.

SolveFirst settings

Setting Default What it does
Gated sites x.com, twitter.com and youtube.com, youtu.be One row per site. A row can hold several domains that share one timer. Subdomains count too. Paste a full URL and it gets cleaned up to the domain. Uncheck to pause a site, × to remove it.
Cooldown (min) 10 Per site. How long that site stays unlocked after you solve the gate.
Problems per session 5 1–20
Answer choices 4 2–6
Difficulty Medium Easy / Medium / Hard number ranges
Show the gate again on every reload / new tab On On: the unlock lives only in the page you solved it on; reloading or opening a new tab shows the gate again. Off: solving once unlocks that site in every tab until its timer ends.
Problem mix add 2, subtract 2, multiply 3, percent 3, order of ops 3 How often each problem type appears. 0 turns a type off.

How the problems are made

Every problem is created on the spot by a small random-number generator (Math.random) in src/content.js: pick a type, pick random numbers in the difficulty's range, compute the answer, then add believable wrong answers (off by one or ten, (a+b)×c instead of a+b×c, a times-table row off, double or half for percents) and shuffle. A wrong pick turns red and you stay on that problem. Keyboard: A–F or 1–6.

Privacy

No data leaves your browser. See PRIVACY.md. The extension needs access to all sites only so it can gate the ones you add; on every other site it does nothing.

Development

src/settings.js   defaults, difficulty presets, domain matching (shared)
src/content.js    the gate, problem generator, per-site timers
src/options.*     settings page (also the toolbar popup)
icons/            icons (regenerate with scripts/make_icons.py, needs Pillow)
scripts/build.sh  builds dist/solvefirst-<ver>-chrome.zip and -firefox.xpi

Load the repo folder unpacked, edit, then hit reload on the extension card.

License

MIT

About

Solve a few quick math problems before distracting sites open. Free browser extension for Chrome, Zen & Firefox with per-site cooldowns.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages