NBISJS
NBIS-JS is an open-source port of the NIST Biometric Image Software (NBIS) to JavaScript using WebAssembly. This project was born out of a professional need at BRy Tecnologia, where I realized that biometric validation and template generation didn't necessarily need to happen in the backend.
The original NBIS is a massive C project developed by the National Institute of Standards and Technology. It includes tools for image processing, fingerprint feature extraction (mitosis), and matching. I focused on extracting the core functionality needed for web applications: capturing a fingerprint image, extracting its minutiae, and generating a standardized template (MINEX II).
Using Emscripten, I compiled the performance-critical C code into WebAssembly. This allowed the browser to perform complex biometric calculations at near-native speeds. The result was a library that could be easily integrated into any web application, providing a seamless and secure biometric collection process without the need for constant round-trips to an API.
Impact and Connectivity
The introduction of NBIS-JS significantly improved the user experience for biometric enrollment. It allowed for real-time quality checks directly in the browser, giving users immediate feedback on whether their fingerprint capture was successful. Furthermore, it enabled offline biometric capture, a crucial feature for field workers or users with unstable internet connections.
This project also gave me the opportunity to dive deep into the world of WebAssembly and low-level optimizations. I shared these findings in a talk titled "WebAssembly: High-performance applications in the browser" at The Developers Conference 2023 in Porto Alegre.

NBIS-JS is available as an open-source project on GitHub and can be easily installed via NPM. It continues to be a testament to how modern web technologies can breathe new life into battle-tested legacy software.