Hi! One of the main concerns for the web app is to make sure the queue is never running low, so it will keep asking for new batches in the background as the current batch is being annotated. The motivation here is that one individual example typically doesn't matter very much, and a single update to the model won't move the needle enough for it to be worth blocking on it. Depending on the model, blocking could easily take 10+ seconds or even a minute, so that's not really viable to do synchronously
Setting "instant_submit": true
will send an answer back as it's annotated, so you could enable that, collect the individual answers as they come back and then batch them up to periodically update your model. It still wouldn't block, but with a batch size of 1, you'd only ever have it ask for the next example in the background. Another option that's less elegant but could work: you could send dummy examples in between that keep the app busy, and in the worst case, you'd see the dummy example in the UI (that could say something like "please wait") and then skip it to move on.