Blog & Archive > Postmortem
image representing a theme in this article image representing a theme in this article image representing a theme in this article
Postmortem
Why it died and when it might live again

OpenCV

We began this project in 2019 - a little over a year after OpenCV.js was released. This binding saw hundereds of image processing and computer vision tasks belonging to OpenCV becoming possible in web browsers for the first time. Unfortunately, with such a leap forward comes years of ironing out kinks - and in this case much of that work remained to be done or documented. We had issues with crashing during haar cascades, memory leaks, garbage collection for large files - the list went on. It was clearly more than a “side project that could eventually be something maybe” in terms of necessary level of getting into the weeds RE OpenCV.js -> OpenCV alone.

Architecture

Aside from workable but full-time issues with bindings, our other blocker was the chosen architeture. We wanted to do this in node/electron to make app distribution easier (complete with micro front-ends and container technologies!) and that was just not possible from a performance standpoint. Despite all of that, I am especially confident that we would complete this project were it attempted today, given that many of our OpenCV.js issues are now fixed and documented, webassembly seems to be much-improved for Node.js, etc. Perhaps one day we’ll give it another shot!