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
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
Film pages, search index (Elasticsearch), metadata API, related films.
Requires EP-01
EP-03
AI Tagging Pipeline
Audio fingerprinting (ACRCloud), computer vision object recognition (AWS Rekognition), confidence scoring, and human review queue.
Requires EP-01
EP-04
Interactive Timeline UI
Timeline scrubber component, scene markers, live product/music panel updates, deep-link sharing.
Requires EP-01Requires EP-02
EP-05
Shop & Retailer Commerce
Shop registration, product catalogue, timestamp placement, affiliate link generation, click tracking.
Requires EP-01Requires EP-04
EP-06
Music Discovery
Song identification, Spotify/Deezer/Apple Music deep links, purchase options, affiliate tracking.
Requires EP-01Requires EP-03
EP-07
Watch Options & CineCore
CineCore license API integration, territory-aware streaming/rent/buy options, graceful fallback.
Requires EP-02
EP-08
IP Licensing Integration
CineCore merchandise license API, IP fee routing, retailer fee calculation, filmmaker revenue dashboard.
Requires EP-05Requires EP-07
EP-09
User Curation
User registration, tag submission, moderation queue, reputation system, community confirmation flow.
Requires EP-04
EP-10
Filmmaker Portal
Filmmaker registration, self-tagging, IP licensing activation, analytics dashboard.
Requires EP-05Requires EP-08
EP-11
Commerce Analytics
Revenue dashboard, click tracking, conversion reporting, shop analytics, film performance metrics.
Requires EP-05Requires EP-08
EP-12
Admin Dashboard
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 ID | User Story | Acceptance Criteria | Size |
|---|---|---|---|
| US-001 | As a Developer, I want to define the full Scene Graph schema (Film, Scene, Timestamp, Tag, Product, Song, Brand) in Neo4j | Schema validated, migrations documented, seed data loadable | XL |
| US-002 | As an Admin, I want to create a new film entry with title, year, director, cast, and poster | Film node created in Neo4j; synced to Elasticsearch index | L |
| US-003 | As an Admin, I want to create scenes for a film with start/end timestamps and thumbnails | Scene nodes linked to Film; queryable by timestamp range | L |
| US-005 | As a System, I want to query all elements active at a given timestamp for a film | Graph query returns all active tags within 100ms | L |
EP-04 — Interactive Timeline UI
| Story ID | User Story | Acceptance Criteria | Size |
|---|---|---|---|
| US-015 | As a User, I want to see an interactive timeline scrubber on the film page | Timeline renders with scene markers and duration labels | XL |
| US-016 | As a User, I want to scrub the timeline and see the product and music panels update | Panel updates within 100ms of scrub position change | XL |
| US-017 | As a User, I want to share a link to a specific film timestamp | URL with ?t=:seconds pre-loads timeline at correct position | M |
EP-05 — Shop & Retailer Commerce
| Story ID | User Story | Acceptance Criteria | Size |
|---|---|---|---|
| US-020 | As a Retailer, I want to register as a shop on Scenery with company details and product catalogue | Shop profile created; product import via CSV or API | L |
| US-021 | As a Retailer, I want to browse the film timeline and place a product at a specific timestamp | Product tag created with source=SHOP, confidence=COMMERCIAL | L |
| US-022 | As a System, I want to generate a tracked affiliate link for every shop product placement | Affiliate link created; click events tracked with full context | M |
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 | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 | S11 | S12 | S13 | S14 | S15 | S16 |
| 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
| ID | Risk | Severity | Status | Mitigation |
|---|---|---|---|---|
| R-01 | AI tagging accuracy too low for commerce (wrong product identified) | High | Active | Confidence threshold >85% for auto-publish; all commerce tags require human validation |
| R-02 | Neo4j performance under large graph traversals | Medium | Monitoring | Graph query benchmarking from Sprint 2; index optimisation before EP-04 |
| R-03 | ACRCloud / Rekognition cost overrun at scale | Medium | Active | Process only registered films; batch processing; cost caps per film |
| R-04 | Shop retention low (curate but not convert) | Medium | Watching | Shop analytics from EP-11; conversion data as retention driver |
| R-05 | CineCore not ready when Scenery needs it | High | Active | Mock CineCore adapter from Sprint 1; all integration isolated in EP-07/08 |
| R-06 | Film rights disputes over product placement | Low | Watching | IP licensing via CineCore provides legal framework; filmmaker consent required |
| R-07 | GDPR breach via geolocation or affiliate tracking | Medium | Active | Consent-gated tracking; IP-based territory detection as fallback (no IP storage) |