Skip to content

connectjeff/rearview

Repository files navigation

Rear-View Mirror

A native macOS floating webcam overlay — like a rear-view mirror for your screen.

Shows your camera feed as a small, always-on-top floating window. Perfect for video calls, streaming, or keeping an eye on your space while working.

Features

  • Floating overlay — stays on top of all windows, click-through when you need it
  • Virtual zoom & pan — adjust framing without losing resolution
  • Aspect ratios — 16:9, 4:3, 3:2, 1:1, or freeform
  • Multiple presets — snap to corners, edges, or full strips
  • Per-display profiles — save layout settings per monitor (⌥⌘1)
  • Snapshot — capture the current frame to Pictures/ and clipboard (⌥⌘Space)
  • Video effects — sepia, noir, instant, bloom, crystallize, and more
  • Motion detection — red border alert when movement is detected
  • Face tracking — auto-pan to keep your face centered
  • Recording — circular buffer captures the last N seconds; save clips or start/stop manual recordings
  • Bezel overlay — simulated rear-view mirror frame
  • Grid overlay — rule-of-thirds composition guide
  • Push-to-reveal — temporarily show/interact with the window
  • Auto-hide on fullscreen — hides when any app goes fullscreen
  • Launch at login — starts automatically when you log in
  • Menu bar app — no Dock icon, runs quietly in the background

Installation

Homebrew (recommended)

brew install --cask connectjeff/rearview/rearviewmirror

Installs to /Applications/RearViewMirror.app. Launch from Spotlight or:

open /Applications/RearViewMirror.app

Manual

  1. Download the latest release from releases
  2. Move RearViewMirror.app to your Applications folder
  3. Open it (right-click → Open on first launch to bypass Gatekeeper)
  4. Grant camera access when prompted

Build from source

git clone https://github.com/connectjeff/rearview.git
cd rearview
make build    # builds Release app bundle
make run      # builds and launches
make release  # creates a .zip for distribution

Requires macOS 14+ and Xcode Command Line Tools (xcode-select --install).

Usage

Menu Bar

Click the mirror icon in the menu bar to open settings. Right-click for the menu.

Hotkeys

Keys Action
⌥⌘H Show / Hide window
⌥⌘T Toggle click-through
⌥⌘B Toggle bezel overlay
⌥⌘R Start / Stop recording
⌥⌘S Save clip (export ring buffer)
⌥⌘M Cycle position presets
⌥⌘, Settings
⌥⌘P Push-to-reveal (toggle)
⌥⌘Space Take snapshot
⌥⌘G Toggle grid overlay
⌥⌘1 Save current layout as display profile
⌥⌘Q Quit

Settings

All settings are available in the settings popover (left-click the menu bar icon):

  • Camera — select device, toggle mirror
  • View — zoom, pan left/right, pan up/down
  • Window — opacity, click-through
  • Position — aspect ratio, anchor presets
  • Motion — toggle motion detection, adjust sensitivity
  • Face Tracking — toggle auto-pan to follow face
  • Recording — buffer duration, start/stop, save clip
  • Display — bezel overlay, push-to-reveal
  • Video Effects — choose effect (sepia, noir, instant, etc.), toggle grid overlay
  • System — launch at login, auto-hide on fullscreen

Display Profiles

Move the window to a different monitor and press ⌥⌘1 to save the current layout (position, size, zoom, pan, opacity, mirror, aspect) for that display. The profile loads automatically when the window moves back to that screen.

Architecture

AVCaptureSession
  ├── AVCaptureVideoPreviewLayer  (basic mode — zero overhead)
  └── AVCaptureVideoDataOutput    (advanced mode)
       └── VideoPipeline
            ├── MotionDetector     — vImage luminance differencing
            ├── FaceTracker        — VNDetectFaceRectanglesRequest
            ├── ClipRecorder       — circular CVPixelBuffer ring + AVAssetWriter
            └── CIFilter chain     — video effects (sepia, noir, bloom, etc.)
                 └── MetalRenderView — MTKView + CIContext rendering
FullscreenMonitor — periodic CGWindowListCopyWindowInfo scan

App switches between basic and advanced mode automatically. When no advanced features are enabled, the hardware-accelerated preview layer is used for zero-overhead display.

License

MIT — Copyright (c) 2026 Jeff Alderson

About

Rear-View Mirror — Floating webcam rearview for macOS

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors