A minimal Chrome/Brave extension that downloads your full Boostcamp training history as JSON, directly from the history page. No DevTools required.
This is an independent, unofficial tool and is not affiliated with, endorsed by, or connected to Boostcamp in any way.
Log in to Boostcamp on desktop web at boostcamp.app, go to boostcamp.app/history, click the extension icon, and hit Download as JSON or Download as CSV. You'll get a boostcamp_YYYY-MM-DD file with your entire workout history in one shot. The CSV is flattened to one row per set, useful if you just want to open it in a spreadsheet.
Boostcamp doesn't have a desktop app, so you'll need to log in through your browser (not the mobile app) for the extension to find your session.
The extension isn't on the Chrome Web Store yet, so for now install it manually:
- Download or clone this repo.
- Open
chrome://extensions(orbrave://extensions). - Enable Developer mode.
- Click Load unpacked and select the project folder.
- Go to
boostcamp.app/history(while logged in) and click the extension icon.
Boostcamp's API only accepts requests from boostcamp.app itself and requires a Firebase auth token on every call. So the extension does three things:
- Injects a function into the page's MAIN world (via
chrome.scripting.executeScript) so the request comes from the page's own origin instead of the extension's. - Reads your Firebase ID token directly from the page's IndexedDB (
firebaseLocalStorageDb), the same place Boostcamp's own app stores it. - Makes one
POSTrequest to Boostcamp's history API using that token, then triggers a browser download of the JSON response.
No token or data ever leaves your browser except in that one request to Boostcamp's own servers. Nothing is proxied, logged, or sent anywhere else. See Privacy below, or just read popup.js since it's the entire extension.
Works on any Chromium-based browser: Chrome, Brave, Edge, Opera. It relies on the Manifest V3 chrome.scripting API with world: 'MAIN', which Firefox and Safari don't support the same way, so it won't work there without porting.
- "Go to boostcamp.app/history first": the extension only works on that page. Click the link in the popup to jump there.
- "Not logged in, please log in and retry": you need to be logged in to Boostcamp through your browser (not the mobile app). Log in at boostcamp.app, then retry.
HTTP 4xx/5xxerrors: usually means Boostcamp changed something on their end. Open an issue with the error you saw.
This extension never sends your data anywhere except Boostcamp's own API. See PRIVACY.md for details, or just read the source since it's about 100 lines.
Issues and PRs welcome. This is a small, single-purpose tool, so keep changes focused.
Built with help from Claude Code.