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
- Open a thread.
- Select messages or choose a range like
Last 20.
- Click
Create story.
- Open a dedicated story composer with:
- title
- subtitle
- theme
- anonymize toggle
- include media toggle
- narrator mode (
raw messages, light framing, essay-style)
- Generate preview.
- Edit/remove blocks.
- 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:
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:
- reliability of send/receive/reconnect/notifications
- App Store / release admin loop
- onboarding + pairing clarity
- search + diagnostics / report issue flow
- 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
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:
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:
Create storyBad version:
Proposed v1
User flow
Last 20.Create story.raw messages,light framing,essay-style)Copy as postOutput shape
The output should look like an editorial mini-site, not just a chat transcript clone:
Privacy guardrails
Default to conservative behavior:
Important non-goals:
Suggested placement
Do not put this in the main composer.
Better placement:
Create storyStoriesarea, not mixed into the inbox UITemplates for v1
Keep it small:
MomentTimelinePortraitToo many templates early will dilute the feature.
MVP scope
Build only:
Defer:
Why this is not the next priority
If there were no skeleton for this yet, it should rank below:
This is best treated as a post-launch creative feature, not a pre-launch core feature.
Success criteria
A good v1 should: