This page is for developersIt documents how the practice engine was built and its API. To practise, go to Practice → Practice modes.
For developers

Practice engine — build notes and API

Four ways to put a real question in front of you instead of a page about questions: a quest that will not let you tick a step without a marked result behind it, a random feed drawn from every item on this server, a ten-minute loop, and a plan for the whole day. Plus an API, so an outside app can push you one question every ten minutes and keep the score.

bank loading… API: checking…

What is in the bank

Every objective item already on this server, pooled into one file by .work/build_practice_bank.py. Nothing here was written for the pool — each item carries the file it came from. Rerun the builder after adding a paper, a drill, a lecture quiz or a bank file and the new items appear.

reading the bank…

The plan this was built from

open in the reader

loading the plan…

The API

four routes on /api/chat
The key is on the server, not on this page The four feed routes accept only the 32 hex characters in .assistant/feed-key.txt (mode 600). This site has no login of its own, so printing the key here would hand it to anyone who got past the basic auth. Read it on the box with cat /srv/ielts-study/.assistant/feed-key.txt.

loading the API reference…