Services Work Products About Our approach Insights
Get in touch →

Real-time student photo validation for a government application

A photo upload sounds trivial until thousands of applicants get it wrong. For a state education department's online application, Booolean built real-time photo validation that combines ordinary upload checks, Microsoft's Face service and a configurable rules layer, so applicants can fix a problem while they are still on the form.

InstantFeedback at upload time
3 layersBasic checks, AI signals, client rules
ConfigurableThresholds held by the department
ResilientKeeps working if the AI service does not

The challenge

Applicants needed to upload a photograph suitable for a student record. A conventional upload control can check a file extension and size, but it cannot tell whether an image is a usable portrait. Rejecting photos days later, after manual review, created rework for the department and frustration for families.

The design had to answer several questions at once: Is the file a supported image with sensible dimensions? Is it portrait-oriented? Does it contain one face, visible and looking towards the camera? Can an applicant understand and fix a problem without jargon? What happens if the external AI service is unavailable? And how does the department accommodate legitimate religious, cultural, medical and accessibility circumstances?

The approach: layered checks, immediate feedback

Applicant uploads a photo
        |
        v
Basic image checks
(format, size, dimensions, portrait orientation)
        |
        v
Secure application storage
        |
        v
Microsoft Face service analyses image quality and face-related signals
        |
        v
Booolean rules service applies the department's configured thresholds
        |
        v
Plain-language result shown immediately to the applicant

Basic image checks run first and do not depend on AI: format, file size, height and width, minimum usable dimensions and portrait orientation.

Face and image-quality signals come from Microsoft's Face service for images that pass the basic checks: number of faces, head pose, occlusion, blur, exposure and a quality indicator. Only the signals needed for photo quality are used.

Configurable rules translate those signals into policy the department controls: whether exactly one face must be present, how far the head may turn, whether the face must be fully visible, and which basic requirements apply. Thresholds live in configuration, not code.

Turning technical output into useful guidance

Applicants never see a confidence value or a head-angle figure. Instead of "yaw threshold exceeded", the form says "Please use a photo where your face is looking towards the camera." The page includes an example of an acceptable photo and simple preparation guidance, which reduces avoidable resubmissions.

Designing for people, not only rules

Photo requirements intersect with religious headwear, cultural practice, disability, medical needs and injury. The department can switch individual rules on and off, and the design includes a clearly communicated alternative pathway wherever a standard rule is not appropriate for an individual. Automation guides the submission; accountable human judgement remains available.

Resilience

An operational switch lets the department decide whether face analysis is active. If Microsoft's service is unavailable, or the department elects not to use it, the application continues with the baseline checks. The fallback policy is a business decision, and the system supports whichever policy is chosen.

Why it matters

The value was not adding an AI call to an upload field. It was designing a complete, operationally usable workflow around a real government requirement: immediate guidance, practical resilience, configurable policy, human-centred communication, inclusive service design and responsible use of AI signals.

Ready to talk?

What rule, process or platform is holding you back?

Tell us about the system you need to build, fix or modernise. A senior engineer, not a salesperson, will reply.