All case studies

Facenex

Previous product

Facial recognition payments at the point of sale

Python
OpenCV
React Native
Biometrics
PostgreSQL

The Problem

Carrying cards is friction. Forgetting your wallet kills the transaction. Contactless payments solved speed but not identity — anyone with the card can pay. We wanted to eliminate the card entirely while making payments more secure, not less.

What We Built

Facenex is a facial recognition payment system. The end user walks up to a merchant's PoS terminal, looks at the camera, and enters a PIN. The system authenticates them via facial biometrics and authorises the charge. No card. No wallet. No phone.

How It Works

  1. Enrollment — users register their face and set a PIN via a mobile app. Face templates are stored as encrypted vector embeddings, never as raw images.
  2. Transaction — at the PoS, the merchant enters the amount. The user looks at the camera and enters their PIN.
  3. Authentication — the system extracts a face embedding from the live camera feed, matches it against the enrolled template, and verifies the PIN. Two-factor: something you are (face) + something you know (PIN).
  4. Authorisation — on successful authentication, the charge is processed through the payment gateway. The entire flow takes under 3 seconds.

Architecture

  • Biometric pipeline — face detection (Haar cascades / SSD), alignment, embedding extraction (deep neural network), and vector matching (cosine similarity against enrolled templates).
  • Liveness detection — the system checks for blink rates, head micro-movements, and depth cues to prevent photo/video spoofing.
  • PIN hardening — PINs are hashed with bcrypt and salted. Rate limiting prevents brute force. After 3 failed attempts, the account locks.
  • PoS integration — the terminal software runs on Android with a React Native frontend. It communicates with the backend via encrypted WebSocket for real-time authentication.
  • Payment gateway — Facenex integrates with existing payment processors. It handles authentication; the gateway handles the money movement.

What This Proves

Biometric payments require solving three hard problems simultaneously: accuracy (false accept/reject rates), security (anti-spoofing), and UX (speed at the counter). We solved all three. The system was designed to process transactions in under 3 seconds with a false accept rate below 0.001%.

Engineering deep dive: Face recognition payments at the point of sale — architecture, security, and UX

This product is no longer operating

Facenex was a previous product. Solving three hard problems simultaneously — biometric accuracy, anti-spoofing security, and sub-3-second UX at the counter — proved that ambitious constraints produce better engineering.

Technical model

Conceptual identity, explicit PIN authorisation, and confirmation sequence. Face recognition is not shown as payment consent.

The accompanying Deep Dive explains the technical decisions and trade-offs behind this case study.

Read the Facenex payment architecture deep dive