evOo-local/docs/PRODUCT.md
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

7.4 KiB

evOo — Product rules (Gesamterfahrung)

Design mantra (apply ruthlessly)

EINFACHHEIT und Durchgängigkeit. Dennoch super flexibel. Weniger ist Mehr.

Rule Product
One model Unterhaltungen (1:1 / Gruppe), Ordner/Projekte, specialist Oos
One language Same stage, sound, and transcript grammar everywhere — no one-off chrome
Hide power Depth in specialists and settings — not every control on first screen
Cut clutter Fewer, stronger affordances; stub/TODO lists stay in docs, not UI

When a slice gets feature-heavy: prune to the simplest coherent path that still delivers Stage + sound + calm onboarding.

Conversations, not agent rows

The product is organized as Unterhaltungen (see VOICE.md). Team lists your Oos; opening one starts a conversation, not “the agent app”.

Type Who
1:1 Unterhaltung One Oo
Gruppenunterhaltung Multiple Oos (+ humans later) — fun factor essential (see docs/GROUP-CONVERSATIONS.md)
Projekte Group conversations in Ordner (BotSection folders)

Deepest personalization

evOo must adapt to each user more individually than any other app. Persona/crew fit is lifestyle-agnostic — office worker, club/scene person, hardcore nerd: same mechanism, simplest path to what they want.

Companion tone When
Geek-peer / Fachsimpeln User wants depth — match enthusiasm, stay in lane
Quiet-doer User wants outcomes — never act like we know better

Onboarding harvest infers help & vibe (user-help-vibe.ts → MEMORY.md), then spawn/select specialist Oos and Unterhaltungen — not one personality for everyone. See docs/PERSONA-SELECTION.md.

Accessibility of ambition

Power-user literacy must not be required. Same product, radically different crews/Unterhaltungen — domain excellence in each case.

User Gets
Mom, Thermomix That — simply, excellently
Hard math Specialist Oo at very high level
Software development Specialist Oo at very high level
Axis Rule
Skill floor Grandma-simple entry — no jargon gate, no setup maze
Skill ceiling Expert-grade per specialty — depth when wanted
Anti-pattern Wunderwuzzi mediocre at everything

Simple entry, deep ceiling. UI and onboarding copy stay calm and plain; specialist lanes carry the depth.

Emergent ensemble

Das Ganze ist mehr als die Summe seiner Teile.

Power comes from more individualists and differences — a crew of distinct specialists with chemistry — not from one mega-agent. Capability emerges when diverse Oos meet in Unterhaltungen and Gruppen.

Pillar Why
No Wunderwuzzi Depth per lane beats one mediocre generalist
Specialty ceiling Each Oo expert-grade in its domain
Fun friction Banter and pushback between personalities — useful spark
Ensemble > solo Group stage + handoffs make the crew feel stronger than any single Oo

Chief coordinates; the crew delivers. Product, prompts, and stage should never imply one bot could replace the group.

No Wunderwuzzi

Every Oo has a clear specialty. There is no do-everything generalist personality.

  • Persona archetypes map to templates (CTO, Fixer, quant, engineer, …).
  • Unmatched bots fall back to specialist, not “companion/helper”.
  • Chief (first onboarding bot) is seeded as Chief of Staff — coordinates the crew, does not replace specialists.
  • Group encounters show active speaker + ensemble; collaboration is the model — banter & chemistry, not corporate-dull committee.

When adding templates or copy: narrow scope, explicit role line, defer out-of-lane work to other Oos.

First-run emotional north star

The app sets itself up. It discovers what it can (profile, tools, crew) and shows the user:

Don't stress. We're here now. Trust us — there are many of us. We've got this.

Principle Product
Calm collective crew Reassurance copy + discovery progress (OnboardingDiscoveryShell), not a long wizard
Honest discovery Progress bar + one active step in onboarding — future sources stay in docs, not UI laundry lists
Specialists Chief of Staff + crew framing; no Wunderwuzzi

Surfaces: Welcome.tsx (spirit), Onboarding.tsx (progress + minimal model/tools steps).

Onboarding → user profile

During onboarding, harvest respectful local signals into the existing user-scoped MEMORY.md (space memory — not a parallel brain):

Signal Source
Name, email rpc.me()
Timezone Intl / localTimezone()
Locale, UI locale navigator.language, saved UI pref
Languages, platform navigator
Default model, computer host bootstrap Me

Implementation:

Layer Path
Profile harvest apps/web/src/lib/user-profile-harvest.ts
Help & vibe inference apps/web/src/lib/user-help-vibe.ts
Persona/crew selection notes docs/PERSONA-SELECTION.md
Discovery plan + progress apps/web/src/lib/onboarding-discovery.ts
Reassurance UI apps/web/src/components/onboarding/OnboardingDiscoveryShell.tsx

Called from Onboarding.tsx after first bot ensure.

Oo relationship over time

Principle Meaning
Always on Presence when needed — 24/7 feeling without theater
Compounding Stronger/more attuned the more the user works with their Oos (memory + threads)
Never creepy Warm competence; no surveillance vibes
Not yes-men Respectful pushback — don't just echo

Seeded in user MEMORY.md (user-relationship-contract.ts). Persona copy and prompts follow. Details: docs/OO-RELATIONSHIP.md.

Capability vision — ambient & video (future roadmap)

This PR does not build surveillance. Current Gesamterfahrung stays Stage + sound + calm onboarding (VOICE.md). The following is Ingo's long-term direction — optional layers only.

Capability Rule
Video calls Optional — user-initiated; audio-only remains the simpler default
Ambient help Oo handles practical presence in the background; user need not sit in front of the app
"It's just an Oo" Presence without performative attention-seeking — compounding via use, not constant face time
Home metaphors (far future) Could replace alarm system or surveillance camera only with strict opt-in — never creepy, never default-on
  • No always-on camera/mic without explicit, revocable consent UX
  • Any sensing feature must pass earned or creepy? (docs/OO-RELATIONSHIP.md)
  • Specialist lanes for home/security — not one mega-agent watching everything
  • Respectful pushback when a setup would be over-broad or unsafe

Details and encounter grammar: VOICE.md § Ambient & video presence.

TODO (future passes)

  • Merge focus choice from onboarding.chooseFocus into help/vibe (mergeHelpVibeHints — mapping exists, wire on answer)
  • Merge connector authorizations into profile
  • Wire projects-on-disk / habits-routines / pain-points discovery sources (currently shown as planned stubs)
  • Suggested Unterhaltungen + specialist Oos + project folders from discovery results
  • Optional explicit name confirmation step in onboarding UI