diff --git a/docs/superpowers/specs/2026-05-31-mobile-camera-button-design.md b/docs/superpowers/specs/2026-05-31-mobile-camera-button-design.md
new file mode 100644
index 0000000..ce8ad00
--- /dev/null
+++ b/docs/superpowers/specs/2026-05-31-mobile-camera-button-design.md
@@ -0,0 +1,94 @@
+# Design: Mobile "Open Camera" Button
+
+**Date:** 2026-05-31
+**Status:** Approved, pending implementation plan
+
+## Summary
+
+Add a button to both the **profile screen** and the **event screen** that, on
+mobile devices only, opens the device's rear camera when tapped. The button is
+a camera-launch affordance — it pops the native camera capture sheet and does
+not process the captured image.
+
+## Motivation
+
+atmo.quest's connect flow relies on scanning a QR code (each profile exposes a
+QR encoding `/c/{did}`). Today users scan with their phone's standalone camera
+app. This feature adds an in-page shortcut to open the camera from the profile
+and event screens on mobile.
+
+## Scope and explicit non-goals
+
+**In scope:** a mobile-only button that opens the native camera capture sheet.
+
+**Explicit non-goal — no QR decode.** Per the product decision during
+brainstorming, the page does **not** process the captured photo. The button is
+a v1 stub / camera-launch affordance, **not a working scanner**. Tapping it
+opens the camera; whatever photo the user takes is discarded.
+
+> Web reality that drove this decision: the only no-dependency way for a web
+> page to open the camera is ``, which
+> opens the **photo-capture sheet**. That sheet takes a still photo and returns
+> it to the input — it does **not** do the live QR detection of the standalone
+> Camera app, and there is no web API to launch that standalone app. Making the
+> button actually connect someone would require adding a decode step (client-
+> side JS QR decode, then redirect to the connect URL). That is a deliberate
+> future enhancement, not part of this work.
+
+## Behavior
+
+- Rendered as a `