Temporary offline usage?

I’m interested to know whether it’s possible to use Prodigy with intermittent connectivity. The online demo appears to load the batch data initially, and then you can work through it (I tested by turning my mobile to airplane mode). However I wasn’t 100% sure that the demo was actually connected to a server that saves results, so figured I should double check.

Details of the scenario I’m thinking of: I start with a locally served page that I load on my mobile at home. I then commute to work, when I wish to do annotations, but I’d only have reliable connectivity again (back to the local server) once I get to the office. I realise it wouldn’t be publicly served (am assuming I can do something with Ngrok or a VPN) but provided I can reach my own server, I’m hoping there’s a way to then save that data back in a single go.

Is that viable? It would free me to annotate a lot more effectively if something along these lines worked.


We haven’t tested this extensively, but in theory, yes! You can also set a higher batch size, which is the number of examples that are requested from the Prodigy server at once (default is 10).

The batch size is also used to determine when to request new examples from the server. If you manually hit save (or the app autosaves the current progress) and the connection fails, the annotations are kept in Prodigy’s “outbox” on the client, and Prodigy will try again next time. So as long as you don’t close your browser, no progress should be lost. This should also work if your Prodigy server crashes for some reason – as long as you keep the browser window open, you can always restart the server and save the progress.

Yes, ngrok actually works really well with Prodigy – see this thread and this cookbook section.

(Btw, just to clarify in case others come across this topic later: Prodigy itself of course works 100% offline, given you’re on the same network. This question is mostly about to serving Prodigy on your own servers, and then connecting to it from a device with intermittent connectivity)

1 Like