WhatsApp Face-Recognition Image Pipeline
Overview
An automation pipeline that ingests images arriving over WhatsApp and runs facial recognition on them, indexing and matching faces against a managed collection, with results persisted to a no-code database backend.
The Challenge
Connecting a consumer messaging channel (WhatsApp) to a cloud computer-vision service requires bridging a self-hosted WhatsApp HTTP gateway, an object store for images, a face-recognition engine, and a structured datastore, then orchestrating index/search across them.
What We Built
A Python service layered on a Dockerized WhatsApp HTTP API gateway (the WAHA “whatsapp-http-api-plus” image, launched via start.sh). Helper scripts create and manage AWS Rekognition collections (create-collection.py), index faces from images stored in S3, and search/match incoming photos (process-image.py), writing people, photos, and face records into a NocoDB backend over its REST API. A thin aws_client.py wraps the boto3 Rekognition session.
Technologies & Approach
AWS Rekognition for managed face indexing and similarity search; S3 as the image source; boto3 from Python for the AWS integration; a self-hosted WhatsApp HTTP API container for messaging ingest; NocoDB as the structured store of people/photos/faces. The split into small, single-purpose scripts keeps the collection-management and per-image flows independent.
Outcome / Impact
A working bridge from a messaging channel to a cloud face-recognition pipeline, demonstrating practical integration of computer-vision APIs with real-world image intake and structured storage.
Capabilities Demonstrated
- Building face-recognition pipelines on AWS Rekognition (collections, index, search)
- Integrating a self-hosted WhatsApp HTTP gateway for media ingest
- Orchestrating S3, a CV engine, and a no-code database into one flow
- Practical Python/boto3 cloud-service integration