IDP EasyCapture
Enterprise ID photo management platform that replaces traditional photo booth setups. Organizations collecting employee or student photos at scale use it to capture, validate, and process photos entirely from a smartphone. TensorFlow.js runs real-time face detection in the browser to ensure quality before the shot is taken. A server-side ML pipeline handles background compositing — blur, solid colors, or custom images — using MediaPipe segmentation and OpenCV. Exports in ASURE ID-compatible formats for enterprise badge printing.
Project Overview
EasyCapture is an enterprise ID photo management SaaS platform built for IDP Americas (contract, 2024–2025). It replaces traditional photo booth setups with an AI-driven, smartphone-based capture workflow. Organizations collecting employee or student photos at scale — for badges, credentials, access cards — use it to handle everything from capture to ASURE ID-compatible export.
The Challenge
Organizations need consistent, high-quality ID photos captured quickly with instant feedback — without manual review bottlenecks or hauling photo booth setups on-site.
The Solution
Built a browser-first pipeline: TensorFlow.js runs real-time face detection with configurable quality thresholds (blur tolerance, lighting, face confidence). A server-side MediaPipe + OpenCV pipeline handles background compositing with dual-model segmentation for fine hair detail. Multi-tenant SaaS with role-based access and dynamic form systems.
Technology Stack
Backend
Frontend
Ai_Ml
Cloud
Deployment
Key Features
Client-side ML: TensorFlow.js BlazeFace for real-time face detection with auto-capture countdown
Configurable quality thresholds: blur tolerance, lighting brightness, face detection confidence
Server-side dual-model MediaPipe segmentation — portrait model for hair detail, general model for structure
Background compositing: blur, solid colors (8 options), or custom uploaded images with LANCZOS resampling
Multi-tenant SaaS with role-based access (super_admin vs regular users)
Dynamic form system with 90+ field templates across 9 categories
ASURE ID-compatible exports (CSV + ZIP) with presigned S3 download URLs
Admin review workflow with batch approve/reject and automated rejection emails
Business Impact
Instant in-browser quality feedback eliminates bad photos before they're taken
Dual-model segmentation with bilateral filtering prevents halo artifacts on hair edges
Mask quality validation with fragmentation detection triggers retake instead of outputting bad composites
Dynamic form system means admins configure exactly the metadata they need per job
Technical Achievements
TensorFlow.js pipeline that feels instant on a smartphone
Dual-model segmentation approach for production-quality background replacement
Sole engineer — built the full stack from ML pipelines to multi-tenant architecture
Enterprise-grade export system plugging into existing badge printing workflows
Technical Implementation
Sole engineer, full stack from architecture to deployment. Client-side ML uses a custom useQualityAnalysis React hook that continuously validates against configurable global thresholds pulled from a singleton SystemSettings model. Server-side compositing uses bilateral filtering for hair edge cleanup and edge detection to prevent halo artifacts, with Gaussian blur anti-aliasing for smooth transitions. Backend uses modular ViewSet architecture split into four specialized files backed by dedicated service layers.