Skip to content

Story export: generate polished static pages from selected conversations #18

@MaxGhenis

Description

@MaxGhenis

Summary

Add an opt-in "story export" flow that turns a selected conversation or message range into a polished static page draft.

This should not be treated as a core inbox feature or an auto-generated/public feature. The right first version is a deliberate export tool for storytelling, demos, and social sharing.

Recommendation

If/when we build this, it should live in the same repo as the app for v1 because it depends directly on:

  • the existing local message model
  • media handling
  • the current design system
  • local-first/privacy expectations

But it should stay behind a clean boundary (new export module + dedicated UI flow), not woven through the core messaging surface.

Product framing

Good version:

  • select a thread or message range
  • click Create story
  • review a generated mini-site draft
  • edit / redact / anonymize
  • export to static HTML or markdown

Bad version:

  • automatic website generation from conversations
  • auto-publishing
  • anything that feels creepy, background-scanned, or anti local-first

Proposed v1

User flow

  1. Open a thread.
  2. Select messages or choose a range like Last 20.
  3. Click Create story.
  4. Open a dedicated story composer with:
    • title
    • subtitle
    • theme
    • anonymize toggle
    • include media toggle
    • narrator mode (raw messages, light framing, essay-style)
  5. Generate preview.
  6. Edit/remove blocks.
  7. Export:
    • HTML
    • Markdown
    • maybe Copy as post

Output shape

The output should look like an editorial mini-site, not just a chat transcript clone:

  • strong headline
  • short framing intro
  • selected message excerpts
  • narrative interstitials
  • media blocks where relevant
  • clean ending / takeaway

Privacy guardrails

Default to conservative behavior:

  • anonymize names by default
  • strip phone numbers by default
  • strip exact timestamps by default
  • require explicit opt-in for profile photos
  • require explicit opt-in for media
  • show a pre-export warning that the result may contain private content

Important non-goals:

  • no automatic public publishing
  • no background suggestion feed from private conversations
  • no silent upload behavior

Suggested placement

Do not put this in the main composer.

Better placement:

  • thread overflow / context menu: Create story
  • or a message-selection toolbar
  • exported drafts live in a separate Stories area, not mixed into the inbox UI

Templates for v1

Keep it small:

  • Moment
  • Timeline
  • Portrait

Too many templates early will dilute the feature.

MVP scope

Build only:

  • message/range selection
  • story generation endpoint
  • preview page
  • anonymization controls
  • HTML export

Defer:

  • public hosting
  • collaborative editing
  • multi-thread mashups
  • AI image generation
  • automatic social thread generation

Why this is not the next priority

If there were no skeleton for this yet, it should rank below:

  1. reliability of send/receive/reconnect/notifications
  2. App Store / release admin loop
  3. onboarding + pairing clarity
  4. search + diagnostics / report issue flow
  5. story export

This is best treated as a post-launch creative feature, not a pre-launch core feature.

Success criteria

A good v1 should:

  • take under 60 seconds from selection to export
  • feel fully user-controlled
  • look intentionally designed, not like a raw transcript dump
  • preserve trust and the local-first posture

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