Skip to main content
Version: 1.0.0

Mirror — Overview

Mirror is an offline-first Android application designed for dedicated retail mirror devices. Each mirror synchronizes its configuration and brand assets from Firebase, downloads everything needed (images, 3D models, videos), and persists paths locally in Realm so the app can run fully offline. After sync, the experience begins with an immersive video, adapting navigation for both portrait and landscape modes depending on device configuration.


Philosophy​

Mirror is designed as a self-contained, offline-first Android application dedicated to powering interactive experiences on specific hardware mirrors.
Its philosophy is simple:

  • Resilience offline → all required assets (images, 3D models, videos) are fully downloaded to the device at setup, so the experience remains stable and performant even without network connectivity.
  • Consistency across devices → each mirror unit is identified by a unique mirrorId. The app automatically fetches its configuration and content from Firebase, ensuring each installation reflects the brand’s exact requirements.
  • Adaptability → the app supports both portrait and landscape orientations, with navigation layouts adapted to each. Mirrors can be configured per device (via Firebase) to allow single or dual-orientation usage.
  • Immersive showcase → after setup and synchronization, the app transitions into a video-driven experience with local content playback, creating a premium, uninterrupted presentation for users.

Role in the ecosystem​

Mirror is part of the ARShades ecosystem but with a focused deployment purpose:

  • Device-specific deployment
    Each unit corresponds to a document in the Mirror collection on Firebase. That document defines:

    • Allowed orientations (portrait / landscape / both)
    • Associated brands to display
    • Content bundles (assets, 3D models, imagery, configuration)
  • Content synchronization layer
    On first launch or when updates are available, Mirror:

    1. Fetches its assigned configuration from Firebase
    2. Downloads all required brand content (images, 3D assets, metadata)
    3. Persists local paths to Realm for offline access
  • Offline-first presentation
    Once synchronization completes, the app:

    • Plays configured intro or looping video assets
    • Serves interactive brand experiences without requiring network requests
    • Ensures minimal latency by loading assets directly from local storage
  • Companion to mobile apps
    While ARShades (iOS/Android) focuses on personal try-on and consumer apps, Mirror is designed for retail/hardware deployment:

    • Kiosks, in-store mirrors, or demo devices
    • Controlled environments with managed content
    • Optimized for robustness and reliability, not feature breadth