Client and Business Goals

A Australian-based company tasked us with the development of an enterprise verification-as-a-service (EVaaS) solution for securing access to sensitive data.

Project Description

A microservice-based single sign-on (SSO) software that enables biometric authentication using face and voice recognition.

Applied Technologies:

Python 3, Django, Django REST Framework, Flask, Celery, MoviePy, ffmpeg, OAuth2, Java, Amazon S3, PostgreSQL, Redis, CI/CD (Docker, Docker Swarm, Jenkins), JavaScript, React, WebRTC (OpenTok), BarCode readers, UI/UX design, manual and automated API testing

Category

Data science and Machine Learning,TensorFlow, Keras, dlib, OpenCV.

Microservice-Based Architecture and WebRTC

Each microservice becomes a separate subproject with its own functionality, which makes it easier to write, support, and enhance. This also allowed us to select optimal solutions and frameworks according to the goals and specifics of each microservice.

The biometric authentication flow includes facial capture and voice recognition. An off-the-shelf WebRTC service was implemented as there was a need to process media data to the server.

Machine Learning for Biometric Recognition

The product has to be able to identify the user based on voice, photo, and questions.

As per usual, we were desperately in need of valid data. We collected initial data sets of voice and photo entries. We also evaluated 10 available solutions to help us validate US driver’s licenses and for choosing an OCR module. As for the US driving license and choosing an OCR module, we evaluated over 10 available solutions.

It was important that we could see the accuracy of these solutions provided in real-world scenarios. We elected to go with Google Vision as we saw it as the best option for the product to integrate with.

 

Development Team to Contribute Product Ideas

Despite its enterprise origin, it was crucial to bring a startup spirit to the development of this product. We owe our success to the fact that our team was immersed in the project and focused on thinking of big ideas and finding legitimate solutions. Features like face anti-spoofing, question generation using NLP or extra voice, and photo data sets all came from the team and eventually become part of the product.