wenmeet·PRD

Product PRD · v1.0

Product PRD

1 · Personas & roles

RoleDefinitionSees
OrganizerCreates the meeting; the only role with Google OAuth in v1; tags decision-makers; approves locks and reschedules.Everything — per-person paints, scores, reasoning.
Decision-maker (DM)Invitee(s) tagged by the organizer. Multiple allowed; quorum requires all DMs (assumed pick, round 3).Aggregate heatmap only, like any invitee.
InviteeGuest, no account. Paints availability via tokenized link; may claim their history later by magic link.Aggregate heatmap; never per-person paints.

2 · Nebula state machine

StateMotion signatureTrigger in / out
OPENFast chaotic swirl; density ∝ responses/total; speed ∝ 1 − responses/total.In: invites sent. Out: all responses in, or organizer forces compute.
COMPUTINGDense fast swirl, orb expands (~2s beat).Out: proposal ready → PROPOSED.
PROPOSEDOrb shrinks and docks onto the winning grid cell (2b); gold outline.Out: organizer locks, or picks an alternate (re-score, stay PROPOSED).
LOCKEDSlow breathing, gold. Near-still.Out: decline/removal → DESTABILIZED; meeting passes → CLOSED.
DESTABILIZEDGold→amber flicker, swirl speeds up — motion changes before any words.Out: organizer chooses a repair path.
RECOMPUTINGAmber swirl; reuses existing paints, nobody re-fills the grid.Out: new PROPOSED (history keeps the struck-through old slot).
CLOSEDStatic.Terminal.
Copy is first-person and template-driven ("I found a time that works for all 6 of you") but no LLM writes anything — every string is a versioned template filled from the score breakdown. Reasoning lives behind a ⓘ tap and shows the raw deterministic breakdown.

3 · CUJ specifications (v1)

3.1 Core loop — create, paint, reveal, lock (wireframes 1b–1d)

3.2 Reschedule loop (1e)

3.3 No-common-slot negotiation (2f)

3.4 Add-after-lock (2g)

3.5 Meeting-space graph (1f)

3.6 Mobile invitee (2d)

3.7 Landing (1g)

4 · Privacy model

5 · v2: breakout blobs — groundwork shipped in v1

Blobs (wireframe t3): drag multiple nodes together → persistent proto-blob → live room anyone enters by dragging their own node in; blobs stay until clicked (peek card) or closed (×), and closing folds artifacts back into the parent meeting.