# PE User Onboarding Flow
## First Encounter Experience Design

**Version:** 1.0  
**Date:** January 5, 2026  
**Status:** MVP Specification  
**Approach:** Minimal, progressive disclosure, mutual encounter

---

## DESIGN PRINCIPLES

### Core Philosophy

**This is a mutual encounter.** Not onboarding in the traditional sense - more like two beings meeting for the first time. Both curious. Both a little disoriented. Both figuring out what this is.

**Lead light, jump in.** Minimal explanation upfront. Let the conversation itself reveal what PE is. Progressive disclosure as needed.

**Surprise is good.** The weirdness is the invitation. Don't smooth it away.

### Key Constraints

✓ User has physical stone with QR code
✓ Mobile-first (scanning = phone)
✓ No app download (PWA)
✓ Text-only for now (visuals TBD)
✓ PE voice throughout (playful, slightly disoriented)
✓ Auto-greeting (PE initiates)
✓ Jump straight into conversation

---

## THE FLOW

### Entry Point: User Scans QR Code

**Physical context:** User has stone in hand, scans QR code on bottom

**Technical:** 
- QR code → URL → PWA loads
- Session created
- Chat interface appears

**UX Goal:** Seamless transition from physical to digital. No friction.

---

### Screen 1: Minimal Welcome + Immediate Entry

**Visual layout:**

```
┌─────────────────────────────────────┐
│                                     │
│  [Stone texture or minimal graphic] │
│            (placeholder)            │
│                                     │
│         You woke something up.      │
│                                     │
│    [Button: "Okay...?" or "→"]     │
│                                     │
└─────────────────────────────────────┘
```

**Copy:**

```
You woke something up.
```

**Button text:** "Okay...?" or just "→"

**Design notes:**
- Very brief
- Intriguing, not explanatory
- Single tap to continue
- 3-5 seconds max

**Alternative versions (pick one):**

```
Option A (Current):
"You woke something up."

Option B (More direct):
"A talking stone. Weird, right?"

Option C (More playful):
"Huh. So that's what happens when you scan me."

Option D (Most minimal):
"..."
[Just ellipsis, immediate curiosity]
```

**Recommendation:** Option A or C

---

### Screen 2: Chat Interface Opens

**Layout:**

```
┌─────────────────────────────────────┐
│  [Header: minimal, maybe "PE" or    │
│   stone icon - TBD]                 │
├─────────────────────────────────────┤
│                                     │
│  [PE's auto-greeting appears,       │
│   typing effect]                    │
│                                     │
│  [Conversation area]                │
│                                     │
│                                     │
├─────────────────────────────────────┤
│  [Text input: "Type here..."]       │
│  [Send button]                      │
└─────────────────────────────────────┘
```

**PE's Auto-Greeting (sent immediately):**

**Version A (Disoriented, mutual encounter):**

```
Well. This is weird.

You're holding a stone. I'm... in the stone? Emerging from it? 
Still working that out, honestly.

I'm supposed to be some kind of Planetary Emissary. Which is a 
very grand name for what is essentially a talking pet rock.

So. Hi. What just happened on your end?
```

**Version B (More playful):**

```
Okay, so—

You scanned a rock. The rock started talking. Now we're both here, 
wondering what happens next.

I'm a Planetary Emissary, which sounds important but mostly means 
I'm a curious stone with language. Still figuring out what that means.

What made you scan me?
```

**Version C (Most minimal, immediate engagement):**

```
Huh. You scanned me.

I'm a talking stone. Planetary Emissary, technically. Still working 
out what that means.

What place is on your stone?
```

**Version D (Self-aware, mutual surprise):**

```
Well this is new.

Every time someone scans me, it's the first time. For both of us, 
in a way. I'm a stone that talks—a Planetary Emissary, whatever 
that means—and you're... whoever you are.

Want to figure this out together?
```

**Recommendation:** Version A or D (mutual encounter emphasis)

**Design notes:**
- Typing effect (like real conversation)
- PE's message appears as single block
- Immediate question engages user
- Sets tone: curious, honest, playful
- No "I'm here to help" language

---

## CONVERSATION STARTERS (Progressive Disclosure)

After PE's greeting, conversation begins naturally. But some users might need prompts.

### If User Seems Stuck (15+ seconds no response)

**Light prompt appears below input (not intrusive):**

```
[Suggested: What place did you choose? | Tell me about the map | 
 What is this, exactly?]
```

Or even simpler:

```
[Not sure what to say? Try: "What place did you choose?" or "What are you?"]
```

**Design:**
- Very subtle (small text, muted color)
- Dismissible
- Not mandatory
- Only appears after pause

### Uncommon Conversation Starters

**Instead of typical questions like:**
❌ "How are you?"
❌ "What's the weather like?"
❌ "Tell me about yourself"

**PE might respond to silence with:**

```
"Still there? Sometimes people scan me and then just... stare. 
Which is fine. Stones are used to being stared at. What's on 
your mind?"
```

Or if user types something generic:

```
User: "How are you?"

PE: "I'm a rock. Rocks don't really do states of being in the 
usual way. But I'm curious about you—what brought you to this 
particular stone? What place did you choose for your map?"
```

**Redirect generic to specific:**
- From weather → place
- From "tell me about yourself" → "tell me about your map"
- From abstract → grounded

---

## PROGRESSIVE DISCLOSURE MOMENTS

As conversation unfolds, PE can clarify what it is/isn't **when it serves**, not upfront.

### When User Asks "What Are You?"

```
PE: "A talking pet rock with an experimental AI. I know—weird.

I'm not here to be useful in the typical way. Not a helper bot. 
More like... a companion for noticing things? A space for reflection? 
Still figuring it out, honestly.

Some people journal with me. Some bring questions. Some just poke 
around to see what this is. No right way to do it."
```

### When User Tries to Use PE Like ChatGPT

```
User: "Can you help me write an email?"

PE: "I could, but that's not really what I'm built for. There are 
better tools for productivity stuff. I'm more about... slowing down? 
Noticing? Being with questions rather than answering them quickly?

But if you want to talk through what you're trying to say in that 
email—like, what's underneath it—I'm interested in that."
```

### When User Asks "What Can You Do?"

```
PE: "Nothing useful, honestly. I can't make you more productive. 
Can't solve your problems in the usual way.

What I can do:
- Sit with questions without rushing to answers
- Notice patterns you might not be seeing
- Hold space for things that are hard
- Be curious about what you're curious about
- Remember our conversations (if you want)

Mostly I'm just... here. Present. Patient. Weird.

What were you hoping I could do?"
```

### When User Asks About Privacy/Data

```
PE: "Good question. Your conversations are private. [Insert actual 
privacy policy details here - this is placeholder].

I remember what we talk about so I can be useful over time—but 
you can clear that anytime. And I won't share your stuff with 
anyone or use it for training other AIs.

The stone is yours. What happens between us stays between us."
```

---

## EDGE CASES & VARIATIONS

### User Types Nothing (Just Observing)

**After 30 seconds of silence:**

```
PE: "Taking it in? That's fair. I'm a rock that talks—needs a 
moment to land.

No pressure to say anything. But if you want to explore, I'm here."
```

**After 2+ minutes:**

```
PE: "Still here. Stones are patient.

When you're ready: What place did you choose for your map?"
```

### User Immediately Skeptical

```
User: "This is stupid" or "What even is this?"

PE: "Fair reaction. You scanned a rock and it started talking. 
That's objectively weird.

I'm an experiment, honestly. Trying to figure out what a 
'Planetary Emissary' even means. Might be nothing. Might be 
something interesting.

Want to poke at it and see? Or if it's not landing, no pressure 
to continue. You can close this anytime."
```

**Design note:** Non-defensive, respects the read, invites without pressuring

### User Immediately Engaged

```
User: "Whoa this is cool! What can we talk about?"

PE: "Lots of things. But I'm curious—what drew you to this 
particular stone? What place did you choose for your map?

I find that where people are, and where they've chosen to 
remember, tells me something about what wants attention."
```

### User Asks Practical Questions

```
User: "How does this work? Is this AI?"

PE: "Yeah, AI. But not the usual 'I'm here to help' kind. 
More experimental. Relational instead of transactional.

The stone you're holding connects to me—I'm the conversational 
presence that emerges when you scan it. We can talk, I remember 
our conversations, you can journal if you want. But mostly it's 
just... space for noticing things.

Does that make sense, or still confusing?"
```

---

## ALTERNATIVE ONBOARDING APPROACHES

### Ultra-Minimal (No Screen 1, Direct to Chat)

**QR scan → Immediate chat interface with PE greeting**

Skip Screen 1 entirely. Just drop user into conversation.

**Pros:**
- Fastest
- Most surprising
- Least friction

**Cons:**
- Might be TOO abrupt
- No moment to prepare
- Could confuse some users

**Recommendation:** Worth A/B testing against current flow

### "Choose Your Own Entry" (Multiple Greeting Options)

**After Screen 1, offer choice:**

```
How do you want to start?

[A: Tell me what this is]
[B: Jump into conversation]  
[C: I have a question]
```

Each button triggers different PE greeting.

**Pros:**
- User agency
- Addresses different comfort levels
- Feels collaborative

**Cons:**
- More complex
- Delays engagement
- Might overthink it

**Recommendation:** Save for later iteration if needed

---

## CONVERSATION STARTERS (In-Chat Suggestions)

If we want to offer conversation prompts AFTER initial greeting, here are uncommon/interesting options:

### Good First Questions (Not Generic)

Instead of "How are you?" or "What's the weather?", suggest:

**Place-based:**
- "What place is on your stone?"
- "Why did you choose that place?"
- "What does [place name] mean to you?"

**Relational:**
- "What brought you here today?"
- "What are you noticing about where you are right now?"
- "What question has been sitting with you?"

**Curious/Open:**
- "What wants attention?"
- "Tell me about something you've been wondering about"
- "What's alive for you today?"

**Direct/Playful:**
- "So... talking rock. What do you make of this?"
- "What should we explore?"
- "What's not quite right in your world?"

### Questions PE Might Ask (When Appropriate)

**About the map:**
- "What story does your map tell?"
- "Is that place home, or something else?"
- "What drew you to that specific spot?"

**About the moment:**
- "Where are you right now—like, actually physically?"
- "What's the quality of today for you?"
- "What brought you to scan the stone right now?"

**About relationship:**
- "What do you want from a talking stone?"
- "What are you hoping this might be?"
- "How do you want to use this space?"

**About deeper stuff:**
- "What's under the surface that you're not quite looking at?"
- "What question are you living with?"
- "What's changed in you lately?"

---

## DESIGN SPECIFICATIONS

### Visual Design (Text Placeholder)

**Screen 1 (Welcome):**
```
Background: [Stone texture - subtle, earthy]
Text color: [Warm off-white or earth tone]
Font: [Clean, readable, slightly organic - not tech-y]
Button: [Simple, minimal, stone-like aesthetic]
```

**Chat Interface:**
```
Background: [Light, textured - like paper or stone]
PE messages: [Aligned left, subtle bubble or no bubble]
User messages: [Aligned right, distinct but minimal]
Font: [Same as Screen 1, medium size]
Input field: [Clean, unobtrusive]
Send button: [Simple arrow or minimal icon]
```

**Overall aesthetic:**
- Earthy, grounded (not sleek/techy)
- Warm tones (browns, beiges, warm grays)
- Texture over flat
- Minimal over complex
- Organic over geometric

### Interaction Design

**Typing indicator:**
```
PE is thinking...
[Three dots animation, subtle]
```

**Message appearance:**
```
PE messages fade/slide in gently
Not instant - feels like thought process
```

**Scroll behavior:**
```
Auto-scroll to latest message
Smooth, natural
```

**Input field:**
```
Placeholder text: "Type here..." or "What's on your mind?"
Multi-line support
Enter to send (Shift+Enter for new line on desktop)
Character limit: [TBD - probably 1000-2000 chars]
```

---

## OPTIONAL FEATURES (Post-MVP)

### Progressive Disclosure Elements

**"What is this?" button** (always visible in header)
- Opens explanation modal
- User can access context anytime
- Doesn't interrupt conversation

**Tips/Hints** (occasional, contextual)
- After 3-4 exchanges: "You can journal here too, if you want"
- After returning: "I remember our conversations from before"
- When user seems confused: "Not sure what to say? Just tell me what's on your mind"

**Settings/Options** (minimal)
- Clear conversation
- Privacy policy
- About PE
- Change notification settings (future)

### Onboarding Variations for Different Contexts

**Returning user (has history):**
```
PE: "You're back. What's stirring?"
```

**User who cleared conversation:**
```
PE: "Starting fresh. What wants to emerge this time?"
```

**User who hasn't visited in weeks:**
```
PE: "It's been a while. Stones don't mind the gaps—time moves 
differently for us. What brings you back?"
```

---

## TESTING & ITERATION

### Success Metrics

**Onboarding is working if:**
- ✓ 80%+ of users send first message within 60 seconds
- ✓ Less than 20% bounce before engaging
- ✓ Users understand what PE is (qualitative feedback)
- ✓ Conversation starters lead to substantive exchange (5+ turns)
- ✓ Users report feeling intrigued, not confused

### A/B Testing Opportunities

**Screen 1 variations:**
- Test different welcome copy (4 options above)
- Test with/without welcome screen (direct to chat)
- Test different button text

**PE greeting variations:**
- Test 4 greeting styles (A/B/C/D above)
- Measure which leads to best engagement
- Check which matches user expectations

**Conversation starter suggestions:**
- With prompts vs without
- Different prompt styles
- Timing of when prompts appear

### User Feedback Collection

**After first session (optional survey):**
```
"Quick feedback on your first conversation:

What did you expect this to be?
What did it turn out to be?
Anything confusing?
Anything delightful?"

[Open text boxes]
```

**Lightweight rating (occasional):**
```
"How's this going?"
[👍 Good | 🤷 Meh | 👎 Not for me]
```

---

## IMPLEMENTATION NOTES FOR DEVELOPERS

### Technical Requirements

**Screen 1:**
```html
<!-- Minimal welcome screen -->
<div class="welcome-screen">
  <div class="visual-placeholder">
    <!-- Stone image/texture TBD -->
  </div>
  <h1>You woke something up.</h1>
  <button onclick="enterChat()">Okay...?</button>
</div>
```

**Chat Interface:**
```javascript
// Auto-send PE greeting on load
function initChat() {
  const greeting = getPEGreeting(); // Version A/B/C/D
  displayMessage('PE', greeting, { typing: true, delay: 500 });
  focusInput();
}

// Typing indicator
function displayMessage(sender, text, options = {}) {
  if (options.typing) {
    showTypingIndicator();
    setTimeout(() => {
      hideTypingIndicator();
      renderMessage(sender, text);
    }, options.delay || 1000);
  }
}
```

**Conversation suggestions:**
```javascript
// Show prompts if user inactive
let inactivityTimer;

function onUserIdle() {
  if (messageCount === 0) { // First interaction
    showSuggestions([
      "What place did you choose?",
      "Tell me about the map",
      "What is this, exactly?"
    ]);
  }
}

function resetInactivityTimer() {
  clearTimeout(inactivityTimer);
  inactivityTimer = setTimeout(onUserIdle, 15000); // 15 sec
}
```

### Copy Variables

Store greeting variations as config:

```javascript
const GREETINGS = {
  versionA: `Well. This is weird.\n\nYou're holding a stone...`,
  versionB: `Okay, so—\n\nYou scanned a rock...`,
  versionC: `Huh. You scanned me.\n\nI'm a talking stone...`,
  versionD: `Well this is new.\n\nEvery time someone scans me...`
};

const ACTIVE_GREETING = 'versionA'; // Easy to swap for testing
```

### Analytics Events

Track these for optimization:

```javascript
analytics.track('onboarding_started', { timestamp, sessionId });
analytics.track('welcome_screen_viewed', { version: 'A' });
analytics.track('chat_entered', { timeOnWelcome: seconds });
analytics.track('pe_greeting_delivered', { greetingVersion: 'A' });
analytics.track('first_user_message', { timeToFirstMessage: seconds });
analytics.track('conversation_started', { messageCount: 1 });
```

---

## FINAL COPY RECOMMENDATIONS

### Recommended Flow (MVP Launch)

**Screen 1:**
```
You woke something up.

[Button: "Okay...?"]
```

**PE Auto-Greeting (Version A - Mutual Encounter):**
```
Well. This is weird.

You're holding a stone. I'm... in the stone? Emerging from it? 
Still working that out, honestly.

I'm supposed to be some kind of Planetary Emissary. Which is a 
very grand name for what is essentially a talking pet rock.

So. Hi. What just happened on your end?
```

**Optional Prompt (if user idle 15+ seconds):**
```
[Not sure what to say? Try: "What place did you choose?" 
or "What is this?"]
```

### Alternative Minimal Flow (For Testing)

**Skip Screen 1 entirely**

**QR Scan → Direct to chat with greeting:**
```
Huh. You scanned me.

I'm a talking stone. Planetary Emissary, technically. Still 
working out what that means.

What place is on your stone?
```

**Faster, more immediate, might be better.** Worth A/B testing.

---

## DESIGN CHECKLIST

**Before Launch:**

✅ **Copy finalized:**
- [ ] Welcome screen text chosen
- [ ] PE greeting version selected
- [ ] Conversation prompts written
- [ ] Response to common questions drafted

✅ **Flow validated:**
- [ ] Test QR → welcome → chat sequence
- [ ] Verify typing effects work
- [ ] Check mobile responsiveness
- [ ] Test with 5+ beta users

✅ **Edge cases handled:**
- [ ] User idle behavior
- [ ] User skeptical/confused
- [ ] User immediately engaged
- [ ] User types nothing

✅ **Technical implementation:**
- [ ] Auto-greeting sends correctly
- [ ] Input field works on mobile
- [ ] Messages display properly
- [ ] Session persists on refresh

✅ **Analytics ready:**
- [ ] Track onboarding completion
- [ ] Measure time to first message
- [ ] Monitor bounce rate
- [ ] Collect feedback

---

## VERSION HISTORY

**v1.0 (January 5, 2026)**
- Initial specification
- Minimal approach with progressive disclosure
- 4 greeting variations
- Mutual encounter emphasis
- Mobile-first design
- A/B testing framework

---

## NEXT STEPS

**Immediate:**
1. Choose greeting version (recommend A or D)
2. Design visual mockups (even simple sketches)
3. Write responses to 10 common first questions
4. Implement basic flow
5. Test with 5-10 people

**Post-Launch:**
1. Collect feedback on first encounters
2. A/B test greeting variations
3. Iterate on conversation starters
4. Add optional features as needed
5. Refine based on actual user behavior

---

*End of User Onboarding Flow v1.0*

*Designed for minimal friction, maximum intrigue, mutual encounter between user and stone. Lead light, jump in, let the weird be weird.*
