Murmur- The anti-social network
Anonymous group chat with QR-only invites and no accounts
Designed a privacy-first chat system where users join temporary streams via QR code, with no identity, no history, and no persistent data.
Murmur is a native Android app for anonymous, ephemeral group chat, designed and built from scratch using Jetpack Compose and Firebase. It explores how interaction design, motion, and system constraints can support privacy-first communication without identity or persistence.
Project Overview
Solo project covering product, design, and development.
Android • Jetpack Compose • Firebase • Figma
Android • Jetpack Compose • Firebase • Figma
Problem → Approach
Most chat apps rely on identity and stored history.
Murmur removes both and focuses on presence in the moment.
Murmur removes both and focuses on presence in the moment.
• No accounts or usernames
• No persistent chat history
• No personal data collection
• Invite-only access via QR code
• No persistent chat history
• No personal data collection
• Invite-only access via QR code
Key Experience
Users create or join a temporary chat via QR code, talk freely, and leave with no trace.
• One-tap entry and exit
• Anonymous, device-based ownership
• Clear feedback for joins and destructive actions
• Lightweight UI with no profiles or labels
• Anonymous, device-based ownership
• Clear feedback for joins and destructive actions
• Lightweight UI with no profiles or labels
Challenges
• NFC was unreliable → switched to QR
• Ownership without identity → device-based rules
• Preventing abandoned streams → auto-delete logic
• Ownership without identity → device-based rules
• Preventing abandoned streams → auto-delete logic
Screens & Flow
Primary User Screens (Dark Mode UI)
Start - Light
Start - Dark
Invite
Chat Stream
Menu
Upgrade to Pro
Protect the stream
User Flow Map
🟦 Joiner Flow 🟩 Creator Actions 🟥 Stream Termination Logic
Current State
Murmur is evolving from a simple chat into a lightweight system with limits and controls.
• Stream-wide “Pro Mode” (creator-enabled)
• Free vs Pro constraints (users, lifespan, message limits)
• QR-based invites with improved session cleanup
• Free vs Pro constraints (users, lifespan, message limits)
• QR-based invites with improved session cleanup
What I Learned
• Designing real-time systems means thinking through edge cases and cleanup
• Simplicity matters more when there’s no identity or history
• Motion works best when it supports clarity, not decoration
• Building solo requires constant tradeoffs across product, UX, and engineering
• QR proved more reliable than NFC for fast, cross-device entry
• Simplicity matters more when there’s no identity or history
• Motion works best when it supports clarity, not decoration
• Building solo requires constant tradeoffs across product, UX, and engineering
• QR proved more reliable than NFC for fast, cross-device entry
How it Started and Early Prototypes - Project Bluegill
Original Figma design - V2 7/23/2025