Start here

Your progress

What you have read, built and noted so far. There is no account and nothing is sent anywhere: the book keeps your progress in this browser, on this device.

Where your progress lives

Everything on this page stays in this browser. Clearing this site’s data, or your browsing data, deletes it. A different browser, a private window or another device starts empty, and so does the same book at another address, such as the website and a copy on your computer. To keep a copy, or to move your progress, use Export and then Import on the other side.

Overall

Reading your progress… If this message stays, the tracker could not start in this browser.

Continue where you left off

By part

Each bar counts the pages in a part that you have marked done. A page counts as in progress from your first visit. Mark a page done with the box above its previous and next links; a lab is marked done for you when you tick every step of its checklist.

Labs

Each lab ends its steps with a checklist. Ticks are saved as you make them.

Recent activity

Your notes

The first words of each note, newest first. Open the page to read or change the whole note.

Self-check answers opened

Back up, move or reset

Export saves everything on this page (pages, ticks, notes, opened answers and the last 500 activity entries) as one JSON file. Import reads such a file and merges it with what is here: where both sides have a record for the same page, step or note, the newer one wins, so importing the same file twice changes nothing. Reset deletes everything in this browser.

Storage and privacy

  • The tracker uses your browser’s IndexedDB storage, or its local storage when IndexedDB is not available. It uses no cookies, no account and no network.
  • Progress belongs to the address the book was opened from. The website at handbook.aggarwal.dev, a copy opened from disk and a copy served by tools/serve.py on http://127.0.0.1:8765/ each keep their own, even in the same browser. To move from one to another, press Export my progress on this page at the old address, open this page at the new one and press Import a progress file. The import merges, so you can also join two records this way.
  • Chrome and Edge keep progress for pages opened from disk. Firefox and Safari may refuse storage for such pages, or keep each page separately. If ticks do not survive a reload, read the book on the website, or run python3 tools/serve.py from the repository root and open http://127.0.0.1:8765/.
  • If the browser refuses all storage, every page shows a notice saying that progress is not being kept.
  • An Anthropic API key you gave Ask AI is kept apart from your progress: an export leaves it out, and a reset leaves it in place. Forget the key in the Ask AI panel deletes it.