Node backend

I'm not sure exactly what the logic should be on the _server_. Every 1s seems like a simple solution to me: it'll work for large and small document sets, with little code.

But really, my beef here is that the _server_ seems to be dictating what the _client_ should do. And it doesn't know.

On the _client_ side, re-rendering has everything to do with time and nothing to do with number of documents. There's a delicate balance: too many janky redraws is bad, and too slow progress is also bad. But that's a compromise for the _client_ to make. The _server_ doesn't have enough information to make it.

The _server_ should send data as often as bandwidth allows. That will help the _client_ redraw whenever it wants, with the latest data. I imagine one JSON object is about 2kb? Then sending every 1s will keep the client up-to-date at the cost of 2kb/s of bandwidth. Not bad. There may be other approaches, but I doubt they're as simple.

Keep in mind: even if the client doesn't redraw the _words_, it'll want to redraw the _progressbar_. The server must constantly be sending data, no matter how quickly/slowly it's reading files or how much bandwidth the client has.