Back to Homepage

Memory Mirror

A Browser-Based AI Recognition Tool for Prosopagnosia and Memory Impairment
Live demo: https://calluxpore.github.io/Memory-Mirror/
GitHub: https://github.com/calluxpore/Memory-Mirror
Face Detection Mode

The Idea

Prosopagnosia, or face blindness, affects an estimated 1 in 50 people, alongside the millions more living with age-related memory decline, early-stage dementia, or cognitive fatigue who struggle to place the faces around them. The social cost is quiet but constant: missed greetings, mistaken identities, the slow withdrawal that follows when introductions feel unsafe.

Memory Mirror explores how on-device computer vision can act as a calm, ambient prosthetic for facial recognition. The application runs in a browser on any laptop or tablet. The user keeps the device nearby with the webcam pointed toward the room or the person sitting across from them. When a known face enters the frame, a soft memory card appears on screen beside that face, showing their name, relationship, a personal note, and when they were last seen. The user glances at the screen to get their bearings, then returns to the conversation. No tapping, no searching, no account. Think of it less like an app and more like a reference screen that already knows who walked in.

Everything runs locally in the browser. No frame, embedding, or note ever leaves the device.

Face Blind Mode

Development

Memory Mirror was developed as a self-contained web prototype with deliberately minimal infrastructure, prioritizing privacy, portability, and the lowest possible barrier to use. Anyone with a webcam and a browser can run it without installing anything or creating an account. The core development involved:

  • Platform: Vanilla HTML, CSS, and JavaScript with no framework and no build step, deployed as static files on GitHub Pages.
  • Input: Continuous live video feed from the device webcam, processed frame by frame in the browser. The camera is pointed at the room or at the person in front of the user, not at the user themselves.
  • Recognition pipeline: Built on face-api.js, using pre-trained neural network weights for face detection, landmark extraction, and 128-dimension face descriptor generation. Recognition is performed by computing Euclidean distance against the local descriptor database.
  • Enrollment flow: Three pathways for adding people. Live capture, where the camera collects 5 sample descriptors automatically for robustness. Single photo upload. And a batch mode that ingests multiple photos, clusters faces by similarity, and walks the user through naming each detected cluster in a guided queue.
  • Storage: All face descriptors, photos, names, relationships, and memory notes persist locally via the browser's localStorage. A single-file export and import system lets users move their full database between devices, with a choice of merge or replace on import.
  • Accessibility: Each memory card includes a speaker button that reads the note aloud via the Web Speech API, useful when glancing at a screen feels too obvious in a social setting. A Face Blind Mode toggle replaces the live camera feed with a painterly pointillist filter, so carers or family members setting up the app do not see identifiable faces while configuring profiles.
  • Assistance: AI coding assistants (Anthropic's Claude) were used during implementation and refinement.

Design

The interface is built around one principle: when you need it, it should already be there.

The camera view fills the entire screen with nothing in the way. Controls live in a frosted pill in the top corners and recede visually into the background when not in use. Memory cards are positioned dynamically beside each detected face in the camera feed, connected by a faint dashed line, and sized to keep the name large and the note legible at a glance from across a desk. The colour system is warm orange on near-black, with high contrast and low aggression, plus a full light mode for bright rooms behind a single tap. The side panel slides in from the right, forms adapt their language to context ("Enroll via Photo" when adding, "Update Photo" when editing), and toasts shift left automatically when the panel is open so they never cover it. Every radius, hover state, and accent glow follows a consistent scale so primary actions remain unmistakable without shouting.

Reflection

As a self-directed prototype, Memory Mirror demonstrated that meaningful real-time face recognition for accessibility can run entirely on-device in a standard browser, without specialized hardware, cloud infrastructure, or a user account. The project takes a deliberately privacy-first stance in a category of assistive tool otherwise dominated by cloud-based, data-hungry alternatives, and shows that the trade-off in capability is smaller than commonly assumed.

The browser format does introduce one inherent constraint worth naming: the user must glance at a screen rather than directly at the person in front of them, which interrupts natural social flow. The logical next step is migration to a wearable display such as smart glasses or an AR headset, where recognition cards could appear in peripheral vision without breaking eye contact. The browser prototype deliberately prioritises zero-install accessibility as a starting point, with wearable integration as the intended direction.

The work prioritised technical feasibility, privacy architecture, and interaction design over controlled clinical validation. Rigorous user studies with prosopagnosia communities and memory-care contexts remain active directions for future development.

What Worked

  • High-Performance Browser PipelineThe full system (detection, matching, and memory retrieval) achieves interactive frame rates on standard laptops without requiring GPU acceleration. This ensures the tool remains accessible on everyday hardware.
  • Robust Enrollment and IngestionThe 5-sample live enrollment and batch clustering features transformed database setup from a manual chore into a stable, guided process that handles varying lighting and angles effectively.
  • Privacy-First ArchitectureBy eliminating servers and accounts, the "privacy-by-design" approach removed common ethical and security objections, making the tool more viable for sensitive care and clinical environments.

What Did Not Work / Limitations

  • Lack of Clinical ValidationNo formal studies have been conducted with users living with prosopagnosia or dementia. While the prototype is promising, its real-world utility for the target demographic remains theoretical rather than proven.
  • Physical and Environmental ConstraintsThe screen-based format forces users to look away from social interactions, while recognition accuracy suffers in low light or when faces are partially occluded by masks or acute angles.
  • Data Portability and PersistenceSince data is stored in localStorage, there is no automatic multi-device sync. Users risk permanent data loss if they clear browser caches without manually exporting their database first.=

Summary

Memory Mirror reframes face recognition not as a surveillance technology but as an ambient cognitive aid: quiet, local, and fully under the user's control. A laptop or tablet kept nearby acts as a silent reference screen, surfacing a person's name and context the moment they appear on camera, without any searching or tapping required. By keeping the entire pipeline in the browser and the entire database on the device, it demonstrates that one of the most privacy-sensitive categories of assistive tool can be built without ever asking the user to give up their data. The work establishes a working baseline for browser-based recognition prosthetics and points toward a research agenda focused on wearable integration, clinical validation, richer memory representations, and deeper collaboration with the prosopagnosia and memory-care communities the tool is built for.

Previous project
Back to all projects