Is this using something like
https://github.com/creatale/node-fv
on the backend, which can accommodate various not perfectly scanned forms to data, after you prepare a schema?
Or is it a more simplistic "mark hotspots" which won't work well/at all if if it is not perfectly aligned/sized with the original?