Stories disappear after hours:
Storage optimization: Stories expire, so don't need permanent storage. Use TTL-based storage.
Viewing pattern: Users watch stories in sequence. Pre-load next story while current plays.
Architecture:
- Upload to temporary storage with -hour TTL
- CDN caches aggressively (content is immutable)
- Story ring (top of app) shows users with new stories
- Order by recency and relationship
Analytics: Track view counts, but data can be approximated. Exact counts not critical for ephemeral content.
Contrast with feed: Feed is pull-based, curated. Stories are push-based, chronological.