Skip to content

Seed/demo dataset: make demo mode show realistic dummy data #4

@offendingcommit

Description

@offendingcommit

Problem

Demo mode currently only masks real data (useDemo + maskValue). If a user has no Honcho instance, or wants to evaluate OpenConcho before connecting one, there's nothing to see.

Proposal

Two complementary tracks:

1. In-app demo mode = fixture data

Extend demo mode so when toggled on (or when no baseUrl is configured), the API layer (src/api/queries.ts) serves a curated in-memory fixture:

  • 2–3 workspaces with believable names
  • A handful of peers, sessions, messages, conclusions
  • Realistic queue activity (some pending, some done)
  • Stable IDs so screenshots are reproducible

Implementation sketch:

  • Wrap client.current so when demo === true it returns a fake fetcher that resolves against fixtures keyed by URL/method.
  • Fixtures live under src/lib/demo-fixtures/ as typed objects derived from components[\"schemas\"].

2. Seed script for a real Honcho instance

A pnpm seed script (or scripts/seed.ts) that POSTs the same fixtures to a configured Honcho instance via the public API. Useful for:

  • Local development against a fresh Honcho.
  • Reproducible Playwright e2e runs.
  • Demo videos.

Why both

  • Fixture-mode = zero-setup evaluation, screenshots, e2e tests.
  • Seed script = exercises the real API path, catches schema drift.

Open questions

  • Do we ship fixtures generated from a recorded session, or hand-author for narrative quality?
  • Should demo mode be the default landing experience for first-time visitors (no config required)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions