GamiWays

Back-Office

Experience control room — authoring, orchestration, quality and runtime configuration.

The back-office is the GamiWays prototype control room: it lets an artistic and technical team govern conversational characters without hand-coding everything. Notion remains the editorial source; the admin syncs content, configures prompts, RAG, models, video avatar and Game Master, then connects analytics to creative adjustments.

Où est Ava ?'s back-office — available at `/admin` on the prototype — is not a simple technical dashboard. It is the experience's editing and governance tool: it connects Notion bases (the editorial source), the conversational pipeline (STT → RAG → LLM → TTS or video avatar), gameplay settings and quality signals that shape the behaviour of Max and Emma. Recent work structures the admin into six spaces — Data, Notion Content, Characters, Experience, Quality and Advanced Technical — to separate authoring, orchestration, observability and runtime configuration. The admin also tracks character readiness, RAG variants, vocal performance intents and quality benches before any wider release. The screenshots below are preserved as historical reference points: their explicit portal-added date signals that the prototype interface has continued to evolve.

Notion sources, sync, configuration, trial session, traces, diagnosis, validated change, new reference version.

Back-office walkthrough video

The six interface spaces

Browse the spaces — historical screenshots are dated to provide context.

Overview of field sessions, questionnaires and traces: the first layer for understanding what participants actually experience and what needs improving.

Key features

  • →Session list with status and duration
  • →End questionnaire and aggregated responses
  • →Conversation traces, player profile and experience events
  • →PostHog and Supabase data explicitly distinguished
Sessions and history

This view brings together sessions, their context and available traces to retrieve an experiment without confusing it with an aggregate measure. It is the entry point for linking field observations to quality diagnostics and corrective decisions.

Added to the portal on 25 September 2026 — the prototype interface may have evolved since.

Data space — sessions, history and experience traces.

Creative control — diagram

How Notion, the back-office and the runtime experience form a continuous editing loop.

Notion feeds the back-office; the back-office configures runtime; analytics close the improvement loop.

From Notion to post-film conversation: browse each link in creative control.

Editorial source

GamiWays back-office

GamiWays back-office

Character editor

Identity, behaviour, editorial fields, situation_summary, runtime profile and readiness checks before activation.

Role in the loop

Heart of the fictional promise — without redeploy.

Creative loop: analytics → test conversation → character / GM / RAG adjustments → back to field

Où est Ava ? runtime

Tap an item to show its detail below.

Incremental construction

1,500+ commits since March 2026 — click a step to see details.

  1. First admin dashboard: session review, system prompt editing, end questionnaire, Notion → Supabase sync. LLM and ElevenLabs voice settings persisted in the database — no recompile needed to test a model or voice.

  2. Added the "Max response test" bench and pipeline trace (RAG → Knowledge → GM → Max → Validator). The pre-TTS validator blocks inventions before voice synthesis; hallucination metrics aggregate the last 50 sessions.

  3. RAG v2: Voyage AI embeddings, reranker, query rewriting, compressed session memory. Multi-provider TTS façade (ElevenLabs, Inworld, Hume) selectable without redeploy. "Voice consumption" dashboard with p50/p95 latencies.

  4. "Latency & blockage" tab: per-step timings (STT, RAG, GM, Max, Validator, TTS), multi-session comparison, 2 s target. LLM Cost Tracker via OpenRouter: cost per day, model and feature. PostHog events correlated by turn_id.

  5. Post-film journey overhaul: voice-captured role, contextualised Max, async post-turn GM. Back-office shows player profile (collapsible JSON) and gm_post_turn_log timeline per session — the editorial tool now covers player experience and narrative orchestration.

  6. RAG & prompts overhaul: replaced 4 Notion bases with a single Characters Où est Ava ? base. New character_prompts table with 7 editorial fields (identity, prohibitions, dynamics, sensitive topics, depth by level…). Character-scoped embeddings — no context leaks between Max, Ava, Léo or Emma. LLM-generated situation_summary injected into the Game Master. Admin reorganised into 5 groups, character editor with final prompt preview, dedicated Video Triggers tab, multi-provider STT Config tab (Deepgram, Gamilab, Whisper, AssemblyAI).

  7. Opening audio cache (openingTTSCache.ts): perceived latency ≈ 0 ms at conversation start. New Max avatar. Native HLS player (GumletVideoPlayer + hls.js). RAG isolation by character_id (SQL filter match_embeddings_voyage). Critical fix: 'Max' vs 'Max Lorenzo' mismatch corrected — RAG had been returning zero context from the start. situation_summary injected at the top of CHARACTER SHEET. Decoupled Notion sync modes: full | fields_only | rag_only.

  8. GamiWays Core Scenario Builder v1 introduces a complete authoring surface: scenario and avatar editors with objectives, world context, persona and per-avatar visibility policy (visibleToAvatarIds). Runtime LLM model selection per scenario and per avatar with deterministic precedence (avatar > scenario > global). Knowledge source authoring with file upload and visibility binding. Fully no-deploy configuration.

  9. The last 4 Phase A EPICs delivered July 19–20, 2026: EPIC 8.1 (canonical computedTraits persisted per scenario), EPIC 8.2 (structured runtime context sections, trait-aware prompt assembly), EPIC 8.3 (explicit Game Master prompt structure, strengthened decision-policy guidance), EPIC 8.4 (structured working memory with coveredTopics and unresolvedThreads). Official Phase A: 603 commits in 95 days.

  10. Gradium.ai integration (Swiss provider) via Supabase Edge Functions: proxy-stt-gradium (MediaRecorder → transcription) and proxy-tts-gradium (text → audio blob, retry/timeout 12s). Gradium becomes the 4th active TTS provider alongside ElevenLabs, Inworld and Hume. Timeline field in Characters Où est Ava ? base: synced from Notion (aliases Chronologie/Historique), injected into system prompt under CHRONOLOGIE / HISTORICAL MEMORY — Max now has structured historical memory in addition to semantic RAG.

  11. Gradium TTS switches to progressive WebSocket streaming (base64 PCM → AudioContext, voice starts on first chunk) with automatic REST fallback. Gradium-specific sentence-level chunking (~160 chars). LLM Config v2: 12 recent models in 3 tiers (Fast: Gemini 2.5 Flash, GPT-5 Mini, DeepSeek V3.1; Balanced: GPT-4o, Claude Sonnet 4, Grok 4; Premium: GPT-5, Claude Opus 4.1, Gemini 2.5 Pro) with costs and pros/cons cards. PRD4 causal tracing: conversation_turn_traces table, admin inspector per session/turn, admin-only diagnostic mode.

  12. Max test bench refactored into a dedicated RAG Lab: full retrieval → Voyage reranking → injection funnel, before/after rerank comparison, manual chunk selection. Versioned embedding profiles: Voyage 4 realtime (voyage-4-large documents → voyage-4-lite questions), context-4 canary, atomic activation after full rebuild. optimized_v3 variant: 11,000-char budgeted compiler, semantic deduplication, structured V1 conversational memory (identity, revelations, commitments, open threads), explicit session resume.

  13. Streaming Avatar: HeyGen LiveAvatar and Tavus remain alternative outputs to local TTS, with a private test, connection/first-frame/first-speech log, automatic fallback and usage tracking. Experience orchestration now centralises active characters, the final questionnaire, Max→Emma handoff and cinematics; GM settings are versioned, explicitly published and carried through to runtime. Versions v0.55.3–v0.55.4 add the interactive PostHog dashboard (p50/p95, slow turns, providers and blockers) and RAG Configuration with drafts, variant comparison, explicit activation and historical metrics across up to 5,000 turns.

  14. Orchestration makes Max and Emma available according to readiness and prepares suggested or requested handoffs, always confirmed. Voice receives a PerformanceIntent derived from text, character and gameplay memory without a second LLM on the critical path. The Quality area adds a text-only LLM-as-judge bench: it compares Max model, sampling and RAG on a Notion corpus, one factor at a time; it does not replace voice tests or real sessions.

Full control room