Epics · User Stories · Sprint Plan · Dependencies

PM Analysis

Full development plan: 12 epics, 38+ user stories, 16-sprint plan, dependency map, and risk register for the Scenery platform.

12
Epics
38+
User Stories
16
Sprints
7
Risk Items
01

Product Overview & Principles

Scenery's development is guided by a "graph-first" philosophy: the Scene Graph is the product. Every other feature (timeline, commerce, curation) is a presentation layer on top of the graph.

🕸️
Graph First
Scene Graph schema is locked before any feature development begins.
🏗️
UX is Earned
The timeline feature is built on a solid data foundation — no UI shortcuts that paper over graph gaps.
🤖
AI as Suggestion
No AI tag goes live without a defined human review path. AI suggests; humans decide.
🛍️
Commerce as Feature
Product placement must feel natural to users, not transactional or intrusive.
🔌
CineCore as External Dep
All CineCore integration is isolated behind a service adapter layer — the platform must function without it in Phase 1.
02

Epic Map

EP-01
Scene Graph Foundation
4 sprints No dependencies
Data model, Neo4j schema, Film/Scene/Timestamp/Element CRUD. Foundation for ALL other epics — must be complete before any feature work.
EP-02
Film Discovery & Search
2 sprints
Film pages, search index (Elasticsearch), metadata API, related films.
Requires EP-01
EP-03
AI Tagging Pipeline
4 sprints
Audio fingerprinting (ACRCloud), computer vision object recognition (AWS Rekognition), confidence scoring, and human review queue.
Requires EP-01
EP-04
Interactive Timeline UI
3 sprints
Timeline scrubber component, scene markers, live product/music panel updates, deep-link sharing.
Requires EP-01Requires EP-02
EP-05
Shop & Retailer Commerce
3 sprints
Shop registration, product catalogue, timestamp placement, affiliate link generation, click tracking.
Requires EP-01Requires EP-04
EP-06
Music Discovery
2 sprints
Song identification, Spotify/Deezer/Apple Music deep links, purchase options, affiliate tracking.
Requires EP-01Requires EP-03
EP-07
Watch Options & CineCore
2 sprints
CineCore license API integration, territory-aware streaming/rent/buy options, graceful fallback.
Requires EP-02
EP-08
IP Licensing Integration
2 sprints
CineCore merchandise license API, IP fee routing, retailer fee calculation, filmmaker revenue dashboard.
Requires EP-05Requires EP-07
EP-09
User Curation
2 sprints
User registration, tag submission, moderation queue, reputation system, community confirmation flow.
Requires EP-04
EP-10
Filmmaker Portal
2 sprints
Filmmaker registration, self-tagging, IP licensing activation, analytics dashboard.
Requires EP-05Requires EP-08
EP-11
Commerce Analytics
2 sprints
Revenue dashboard, click tracking, conversion reporting, shop analytics, film performance metrics.
Requires EP-05Requires EP-08
EP-12
Admin Dashboard
2 sprints
Tag moderation, catalogue management, platform health monitoring, dispute resolution tools.
Requires EP-03Requires EP-09
03

Key User Stories

EP-01 — Scene Graph Foundation

Story IDUser StoryAcceptance CriteriaSize
US-001As a Developer, I want to define the full Scene Graph schema (Film, Scene, Timestamp, Tag, Product, Song, Brand) in Neo4jSchema validated, migrations documented, seed data loadableXL
US-002As an Admin, I want to create a new film entry with title, year, director, cast, and posterFilm node created in Neo4j; synced to Elasticsearch indexL
US-003As an Admin, I want to create scenes for a film with start/end timestamps and thumbnailsScene nodes linked to Film; queryable by timestamp rangeL
US-005As a System, I want to query all elements active at a given timestamp for a filmGraph query returns all active tags within 100msL

EP-04 — Interactive Timeline UI

Story IDUser StoryAcceptance CriteriaSize
US-015As a User, I want to see an interactive timeline scrubber on the film pageTimeline renders with scene markers and duration labelsXL
US-016As a User, I want to scrub the timeline and see the product and music panels updatePanel updates within 100ms of scrub position changeXL
US-017As a User, I want to share a link to a specific film timestampURL with ?t=:seconds pre-loads timeline at correct positionM

EP-05 — Shop & Retailer Commerce

Story IDUser StoryAcceptance CriteriaSize
US-020As a Retailer, I want to register as a shop on Scenery with company details and product catalogueShop profile created; product import via CSV or APIL
US-021As a Retailer, I want to browse the film timeline and place a product at a specific timestampProduct tag created with source=SHOP, confidence=COMMERCIALL
US-022As a System, I want to generate a tracked affiliate link for every shop product placementAffiliate link created; click events tracked with full contextM
04

Sprint Plan (2-Week Sprints)

Sprint 1
EP-01: Neo4j schema design, Film + Scene + Timestamp CRUD, seed data loader
Sprint 2
EP-01: Tag model, element types (Product, Song, Brand), graph query service
Sprint 3
EP-02: Elasticsearch index, film search API, film page data API
Sprint 4
EP-03: AI pipeline foundation — frame extraction, ACRCloud integration, tag candidate creation
Sprint 5
EP-03: AWS Rekognition integration, confidence scoring, auto-publish logic
Sprint 6
EP-04: Timeline component (scrubber, scene markers), static scene panel
Sprint 7
EP-04: Live panel updates on scrub, product cards, music cards, deep links
Sprint 8
EP-05: Shop registration, product catalogue import (CSV), product CRUD
Sprint 9
EP-05: Timestamp placement UI, affiliate link generation, click tracking
Sprint 10
EP-06: Music deep links (Spotify, Deezer), purchase options + EP-07: CineCore watch options
Sprint 11
EP-08: CineCore merchandise license integration, IP fee routing
Sprint 12
EP-09: User tag submission, moderation queue, reputation system
Sprint 13
EP-10: Filmmaker portal (registration, self-tagging, IP activation) + EP-11: Shop analytics
Sprint 14
EP-12: Admin dashboard (moderation, catalogue, disputes), end-to-end testing
Sprint 15
Performance testing, security audit, GDPR review, staging launch prep
Sprint 16
Production launch, monitoring setup, on-call runbooks, first filmmaker onboarding
05

Gantt Chart — 16-Sprint Roadmap

2-week sprints · Jan–Aug 2026 · Phase 1 (H1) delivers core graph + commerce · Phase 2 (H2) delivers IP licensing, curation, admin & launch.

Phase 1 — H1 2026 Phase 2 — H2 2026
Jan Feb Mar Apr May Jun Jul Aug
Epic S1S2 S3S4 S5S6 S7S8 S9S10 S11S12 S13S14 S15S16
EP-01Scene Graph Foundation
EP-02Film Discovery & Search
EP-03AI Tagging Pipeline
EP-04Interactive Timeline UI
EP-05Shop & Retailer Commerce
EP-06Music Discovery
EP-07Watch Options & CineCore
EP-08IP Licensing Integration
EP-09User Curation
EP-10Filmmaker Portal
EP-11Commerce Analytics
EP-12Admin Dashboard
QATesting & Security Audit
🚀Production Launch
Core (amber) Commerce / Integrations (teal) QA & Hardening Milestone
06

Definition of Done

  • Unit test coverage ≥ 75% for all new service and graph query code
  • Graph queries tested with representative dataset (100+ films, 10,000+ tags)
  • All AI tags have a defined review/rejection path before any tag goes live
  • Affiliate link tracking tested end-to-end with click and conversion simulation
  • Performance: timeline panel update <100ms, search <200ms measured on staging
  • GDPR: no PII stored without consent; user data deletion workflow tested
  • CineCore integration: all API calls behind adapter; graceful fallback tested
  • Design QA: timeline UI reviewed on mobile, tablet, and desktop breakpoints
07

Risk Register

IDRiskSeverityStatusMitigation
R-01AI tagging accuracy too low for commerce (wrong product identified)HighActiveConfidence threshold >85% for auto-publish; all commerce tags require human validation
R-02Neo4j performance under large graph traversalsMediumMonitoringGraph query benchmarking from Sprint 2; index optimisation before EP-04
R-03ACRCloud / Rekognition cost overrun at scaleMediumActiveProcess only registered films; batch processing; cost caps per film
R-04Shop retention low (curate but not convert)MediumWatchingShop analytics from EP-11; conversion data as retention driver
R-05CineCore not ready when Scenery needs itHighActiveMock CineCore adapter from Sprint 1; all integration isolated in EP-07/08
R-06Film rights disputes over product placementLowWatchingIP licensing via CineCore provides legal framework; filmmaker consent required
R-07GDPR breach via geolocation or affiliate trackingMediumActiveConsent-gated tracking; IP-based territory detection as fallback (no IP storage)