Tutorial
From zero to solving your first IPhO problem in about five minutes.
Step 1
Install
From npm
npm install -g @daniyalsh/ipho
Package @daniyalsh/ipho · CLI command ipho
From source
git clone https://github.com/daniyal-sh/ipho.git cd ipho npm install npm link
Step 2
Download PDFs
ipho download all
Or separately:
ipho download handouts # Kevin Zhou curriculum ipho download ipho # IPhO theory 2001+ from phoXiv ipho download ipho -y 2024 # single year
Check what's on disk: ipho status
Step 3
Open the study site
ipho
Opens http://127.0.0.1:3847. Pick a handout from the sidebar.
- Handout PDF — problem statements
- Solution PDF — official solutions
- Click a problem for status, notes, uploads, Xournal++
New? Start with Syllabus, FAQ, and Prelim in Guides.
Step 4
IPhO past papers
Open IPhO Past Papers in the sidebar. Each year has T1, T2, T3.
Papers from phoXiv. Some older years use a combined theory PDF.
Step 5
Track your work
- Status: not started → in progress → complete (or for later)
- Notes saved per problem
- Drag & drop solution photos
Data stays in ipho-library/data/progress.json — nothing leaves your machine.
Step 6
Xournal++ (optional)
ipho xournal status ipho xournal path "C:\Program Files\Xournal++\bin\xournalpp.exe"
- Continue in Xournal++ — reopen your notebook
- New notebook — blank slate
- Sync all — export previews from all notebooks
Help
Troubleshooting
Windows: EEXIST ipho already exists — remove old global shim, then reinstall. See README.
npm package not found — install from GitHub with npm install -g github:daniyal-sh/ipho until the latest version is published.
Full command reference: CLI docs