A browser extension for Chrome and Firefox that helps you analyze your Math Academy activity data.
- Fetch Activity Data: Download all your completed Math Academy activities with automatic pagination and deduplication
- Export to JSON: Save all your activity data in JSON format
- Export to CSV: Export activity data to CSV with key fields for analysis in spreadsheets
- Generate Statistics: View detailed XP per minute statistics by course, including percentiles and performance metrics
Chrome: https://chromewebstore.google.com/detail/math-academy-stats/fkjemgghojefccgmlimnanhnofndckin
Firefox: https://addons.mozilla.org/en-US/firefox/addon/math-academy-stats/
For most users, install from the latest release:
- Go to the Releases page
- Download the zip file for your browser:
- Chrome: Download
chrome-mv3.zip - Firefox: Download
firefox-mv2.zip
- Chrome: Download
- Extract the zip file to a folder on your computer
- Follow the browser-specific installation steps below
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extracted
chrome-mv3folder
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Navigate to the extracted
firefox-mv2folder and select themanifest.jsonfile
Only use this if you want to modify the extension or contribute to development:
-
Clone this repository:
git clone https://github.com/rahimnathwani/mathacademy-stats.git cd mathacademy-stats -
Install dependencies:
pnpm install
-
Build the extension:
# For Chrome pnpm run build # For Firefox pnpm run build:firefox
-
Follow the browser-specific installation steps above, but use the
.output/chrome-mv3or.output/firefox-mv2directories instead
This section is only for developers who want to modify the extension.
Start the development server with hot reload:
# For Chrome
pnpm run dev
# For Firefox
pnpm run dev:firefoxpnpm run dev- Start Chrome development server with hot reloadpnpm run dev:firefox- Start Firefox development server with hot reloadpnpm run build- Build Chrome extension for productionpnpm run build:firefox- Build Firefox extension for productionpnpm run zip- Create zip file for Chrome extensionpnpm run zip:firefox- Create zip file for Firefox extension
- Make sure you're logged into Math Academy (https://mathacademy.com or https://www.mathacademy.com)
- Click the extension icon to open the popup
- Click "Get Activity Data" to fetch all your activities (this may take a few moments - the extension automatically detects which hostname you're using)
- Once data is loaded, you can:
- Download JSON: Get all your activity data in JSON format
- Download CSV: Export data to CSV with these fields:
- id, type, points, pointsAwarded
- topic.id, topic.name, topic.course.id, topic.course.name
- started, completed
- test.id, test.name, test.course.id, test.course.name
- Generate Stats: Opens a new tab with detailed statistics
The "Generate Stats" feature provides:
- Filtering: Only includes activities completed within 2 hours of starting
- XP per Minute: Calculates efficiency by dividing points awarded by duration
- Percentiles: Shows 25th, 50th (median), and 75th percentiles for each course
- Performance Metrics: Percentage of activities achieving at least 1 XP per minute
- Course Breakdown: Separate statistics for each Math Academy course you've studied
Built with:
- WXT - Browser extension framework
- React + TypeScript
- Manifest V3 (Chrome) and V2 (Firefox)
The extension requires:
storage: To temporarily store statistics between popup and stats pagetabs: To open the statistics page in a new tab and detect the current Math Academy hostnamehttps://mathacademy.com/*andhttps://www.mathacademy.com/*: To fetch your activity data from the Math Academy API (automatically detects which hostname you're using)
This is a personal project for analyzing Math Academy data.
