Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAT Question Bank Tracker

A Chrome extension that tracks your progress on satquestionbank.org. For every question you answer it records:

  • the question id (from the URL, e.g. 3b6b5f30),
  • the category / skill (e.g. Algebra – Linear equations in one variable),
  • the difficulty (Easy / Medium / Hard),
  • whether you got it right on your first try,
  • and a link back to the question so you can review it later.

A side panel then shows where you're strong and weak — first-try accuracy by skill (weakest first). Each skill row is an aggregate you can tap to expand into its Easy / Medium / Hard sub-stats (e.g. Linear equations in one variable breaks into easy, medium, and hard), plus an overall by-difficulty rollup. Each difficulty lists clickable review links to the individual questions — color-coded (green = first-try correct, red = first-try wrong) and ordered wrong-first — so you can jump straight back to anything you missed. All data is stored locally in the extension (chrome.storage.local); nothing is sent anywhere.

Install (load unpacked)

  1. Open chrome://extensions.
  2. Turn on Developer mode (top-right).
  3. Click Load unpacked and select this sqbtracker/ folder.
  4. Pin the extension and click its toolbar icon to open the side panel.

Use

  1. Open any question, e.g. https://satquestionbank.org/question/<id>?set=<set>.
  2. Pick an answer and click Submit. The extension detects the result automatically.
  3. Click the toolbar icon to open the side panel and watch your stats update live.
    • Clicking Next between questions works without reloading — the tracker follows the site's in-page navigation.

Only the first attempt at each question id counts toward your first-try accuracy. Re-answering a question later won't change that question's first-try result (but is still counted in its attempt total).

Buttons

  • Export — download all tracked data as JSON (backup / move to another machine).
  • Import — merge a previously exported JSON file (existing first-try results are kept).
  • Reset — delete all tracked progress.

How it works

The site is a client-side app that grades answers in the browser: when you submit, the chosen answer turns green (correct) or red (incorrect). The content script (src/content.js) reads that reveal from the page, scrapes the category (<h2>) and difficulty (title="Question Difficulty: …"), and saves the result via the shared storage layer (src/storage.js). The side panel (src/sidepanel.js) aggregates and displays it.

Files

File Purpose
manifest.json MV3 manifest (content script, side panel, service worker)
src/storage.js Storage schema + aggregation helpers (shared)
src/content.js Scrapes questions and detects first-try correctness
src/background.js Opens the side panel when the toolbar icon is clicked
sidepanel.html / src/sidepanel.js / src/sidepanel.css Progress UI
icons/ Toolbar / extension icons

Notes

  • Detection relies on the site's green/red result styling and a few selectors. If the site is significantly redesigned, the selectors in src/content.js (readResult, findCategory, findDifficulty) are the only things that should need updating.
  • Data lives in chrome.storage.local (not sync) so a large history won't hit sync quotas; use Export/Import to move data between machines.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages