3DiVi News

How a Developer Built Selfie Photo Search with AI Agents and 3DiVi Face SDK

After an event, guests want their own photographs, not an entire gallery to scroll through. Developer Maxim Sokolovsky used that problem as the brief for an MVP: an organizer uploads event photos, and a guest submits a selfie to find matching images.
In his original development account, Sokolovsky describes how he directed AI coding agents through the project. He supplied the requirements, managed the development sequence and maintained the context between tasks. The agents implemented the application around 3DiVi Face SDK.

Face SDK is AI-agent ready

Since version 3.31, Face SDK includes documentation designed for AI coding agents: a single entry point that walks the agent through the SDK structure before it writes code. Teams building a similar service today can point Claude Code, Cursor or another agent to it as a starting point.

A small product with a complete workflow

The MVP combined FastAPI for the backend, PostgreSQL for application data and Streamlit for the interface. Face SDK supplied the biometric processing. The surrounding application connected events, uploaded images, face templates and search results.
Event gallery → face detection and templates → event search index
Guest selfie → matching within that event → photo results
This division mattered: integrating a recognition engine was only one part of making the service usable. The developer still needed an application that linked a detected face to its source photograph and returned that photograph to the guest.

The agents built it in stages

Sokolovsky organized the work into four stages. First came the complete upload-to-search flow. Clustering then extended retrieval beyond a single matching image. Background processing and configurable limits followed, before separate organizer and guest interfaces completed the demo.
That sequence gave the project a working path through the system before the interface became the focus. It also made progress easier to assess: each stage changed something the application could actually do.

The difficult part was preserving context

Successive agents did not automatically retain earlier decisions. The project used roadmap, context and handoff files, together with a verification script, to carry its state between tasks. The author also recorded unresolved issues rather than letting them disappear from the development history.
One example was the gap between saving an uploaded file and committing its database record: a database failure could leave an orphaned file. Another was background-job state held in memory, which limited that implementation to a single process.
These details make the account useful as a development story. The application progressed, but its engineering trade-offs remained visible. A generated endpoint or screen was an intermediate result; the meaningful milestone was a working user journey.

What the demonstration showed

In the author’s reported demo, an organizer uploaded 150 photos and started processing. A guest then submitted a selfie and retrieved four matching photographs, with previews and downloads. The result connected photo ingestion, biometric search and the guest interface in one flow.
The account describes an MVP demonstration. It provides neither an independently verified accuracy benchmark nor evidence of production scale. Its contribution is a concrete example of application assembly: an existing biometric SDK became part of a service with a recognizable user need.

The developer’s role remained central

AI agents generated application code, while the developer kept responsibility for scope, continuity and acceptance of the result. Face SDK reduced the need to implement the underlying biometric algorithms; it did not remove the work of designing and maintaining the application around them.
For teams exploring similar products, this story offers a useful starting point for a PoC discussion: the biometric capability, application workflow and development process each had a distinct role in getting the demonstration to work.
Project credit: Maxim Sokolovsky. This developer story is based on his original Russian-language account. Implementation details and demo results above are attributed to that account.
2026-10-28 17:55 Articles Face SDK/API