import { useState } from "react" const G = "linear-gradient(135deg, #1d4ed8 0%, #0891b2 100%)" function MirrorLogo() { return ( ) } function StepConcept() { return (

Your conversations reveal
who you are

Most people go through hundreds of conversations without ever seeing their own patterns. mirror. changes that โ€” not by telling you what to say, but by reflecting how you actually show up.

{[ ["A behavioral portrait, built from your voice", "Speech pace, listening quality, confidence signals, filler words โ€” mapped across every conversation you have."], ["Patterns that span multiple sessions", "The mirror notices what you can't โ€” how you shift between contexts, what consistently holds you back, what's quietly improving."], ["Specific to you, not generic advice", "No templates. No benchmarks against strangers. Just an honest reflection of how you communicate, growing sharper over time."], ].map(([title, body]) => (
{title}
{body}
))}
) } function StepHow() { return (

Two ways to feed the mirror

Every session you add teaches it something new. Start with whatever you have.

{/* Path 1 โ€” Google Meet */}
๐ŸŽ™๏ธ
Record a Google Meet
Live โ€” during the call

When you're on a Google Meet, the mirror panel detects the call and shows a "Start Recording" button. Hit it when the conversation begins โ€” Mirror captures your audio automatically and processes it in real time as the call runs.

{/* Path 2 โ€” Upload */}
๐Ÿ“
Upload a recording
Any conversation ยท Any platform

Have a Zoom recording, a voice memo, or a phone call saved? Upload it from the Upload tab. Mirror works with any audio or video file โ€” it extracts your voice, analyzes the conversation, and adds it to your profile.

Your audio is deleted immediately after analysis. Only the behavioral insights are stored โ€” never the recording itself.
) } const STEPS = [StepConcept, StepHow] export default function OnboardingView({ onDone }) { const [step, setStep] = useState(0) const StepComponent = STEPS[step] function finish() { localStorage.setItem("bm_onboarding_v1", "1") onDone() } return (
{/* Step indicators */}
{STEPS.map((_, i) => (
))}
{/* Navigation */}
{step > 0 && ( )}
) }