Story 5.5: Content Review & Task System - UX Flow & Wireframes

Story: Speaker Content Submission, Quality Review & Configurable Task System

Last updated: January 2, 2026 Reading time: 33 minutes File size: 87.03 KB

Overview

This document describes the UX integration for three major feature areas:

  1. Speaker Content Submission - How organizers submit speaker materials (AC6-10)
  2. Quality Review Queue - How moderators review and approve content (AC11-15)
  3. Task Dashboard - How organizers manage event planning tasks (AC19-27)

Current UI State Analysis

Existing Pages (Story 5.4 Implementation)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Organizer Dashboard                                          β”‚
β”‚ Route: /organizer/events                                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                               β”‚
β”‚  Event Cards Grid (Left)          Quick Actions (Right)      β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Event #123           β”‚         β”‚ Critical Tasks       β”‚  β”‚
β”‚  β”‚ Status: In Progress  β”‚         β”‚ β€’ Venue booking      β”‚  β”‚
β”‚  β”‚ Progress Bar: 45%    β”‚         β”‚ β€’ Speaker outreach   β”‚  β”‚
β”‚  β”‚ [View Details]       β”‚         β”‚ [View All Tasks]     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Event Detail (View Mode)                                     β”‚
β”‚ Route: /organizer/events/:eventCode                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                               β”‚
β”‚  Event Info                  Theme Image                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”‚
β”‚  β”‚ Event #123       β”‚        β”‚ [Event Banner]   β”‚          β”‚
β”‚  β”‚ Date: 2024-12-15 β”‚        β”‚                  β”‚          β”‚
β”‚  β”‚ Venue: Kornhaus  β”‚        β”‚                  β”‚          β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β”‚
β”‚                                                               β”‚
β”‚  Speaker Status Dashboard                                    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Status Summary Cards                                   β”‚  β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”             β”‚  β”‚
β”‚  β”‚ β”‚  3  β”‚ β”‚  5  β”‚ β”‚  2  β”‚ β”‚  4  β”‚ β”‚  1  β”‚             β”‚  β”‚
β”‚  β”‚ β”‚ ID  β”‚ β”‚ CTD β”‚ β”‚ RDY β”‚ β”‚ ACC β”‚ β”‚ SLT β”‚             β”‚  β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜             β”‚  β”‚
β”‚  β”‚                                                         β”‚  β”‚
β”‚  β”‚ Speaker Status Kanban Lanes (Drag & Drop)             β”‚  β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”                β”‚  β”‚
β”‚  β”‚ β”‚ ID   β”‚ CTD  β”‚ RDY  β”‚ ACC  β”‚ SLT  β”‚                β”‚  β”‚
β”‚  β”‚ β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€                β”‚  β”‚
β”‚  β”‚ β”‚ John β”‚ Mary β”‚ Bob  β”‚ Lisa β”‚ Tom  β”‚                β”‚  β”‚
β”‚  β”‚ β”‚ Jane β”‚ Sue  β”‚      β”‚ Mike β”‚      β”‚                β”‚  β”‚
β”‚  β”‚ β”‚ Alex β”‚      β”‚      β”‚ Sara β”‚      β”‚                β”‚  β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”˜                β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                               β”‚
β”‚  [Edit Event Details]                                        β”‚
β”‚                                                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Speaker Outreach Page                                        β”‚
β”‚ Route: /organizer/events/:eventCode/speakers/outreach        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                               β”‚
β”‚  Filters: [All Organizers β–Ύ] [All Statuses β–Ύ]              β”‚
β”‚                                                               β”‚
β”‚  Speaker Table                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Name    β”‚ Company  β”‚ Status  β”‚ Assigned β”‚ Actions   β”‚    β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€    β”‚
β”‚  β”‚ John D. β”‚ Tech AG  β”‚ READY   β”‚ Alice    β”‚ [Contact] │◄──┐│
β”‚  β”‚ Mary S. β”‚ Dev GmbH β”‚ CONTACTEDβ”‚ Bob     β”‚ [Contact] β”‚   β”‚β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚β”‚
β”‚                                                              β”‚β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚β”‚
β”‚  β”‚ Speaker Details Drawer (slides from right)           β”‚β—„β”€β”˜β”‚
β”‚  β”‚                                                        β”‚   β”‚
β”‚  β”‚  John Doe - Tech AG                                   β”‚   β”‚
β”‚  β”‚                                                        β”‚   β”‚
β”‚  β”‚  Contact History Timeline:                            β”‚   β”‚
β”‚  β”‚  β—‹ 2024-12-10: Initial contact (Alice)               β”‚   β”‚
β”‚  β”‚  β—‹ 2024-12-05: Status changed to READY               β”‚   β”‚
β”‚  β”‚                                                        β”‚   β”‚
β”‚  β”‚  [Mark as Contacted]                                  β”‚   β”‚
β”‚  β”‚                                                        β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Finalized UX Flow (Simplified)

Based on stakeholder feedback, the implementation uses a streamlined integrated approach:

  1. Content Submission & Quality Review: Single drawer with context-aware tabs (Event Detail page)
  2. Task Dashboard: Widget integrated into main Organizer Dashboard
  3. Event Task Configuration: Tab in existing EventDetailEdit modal
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Event Detail (Enhanced)                                              β”‚
β”‚ Route: /organizer/events/:eventCode                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  Event Info + Theme Image                                            β”‚
β”‚                                                                       β”‚
β”‚  Speaker Status Dashboard                                            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Status Summary Cards                                         β”‚    β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”   β”‚    β”‚
β”‚  β”‚ β”‚  3  β”‚ β”‚  5  β”‚ β”‚  2  β”‚ β”‚  4  β”‚ β”‚  2  β”‚ β”‚  3  β”‚ β”‚  1  β”‚   β”‚    β”‚
β”‚  β”‚ β”‚ ID  β”‚ β”‚ CTD β”‚ β”‚ RDY β”‚ β”‚ ACC β”‚ β”‚ SUB β”‚ β”‚ REV β”‚ β”‚ CNF β”‚ ◄─NEW β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”˜   β”‚    β”‚
β”‚  β”‚                                                               β”‚    β”‚
β”‚  β”‚ Speaker Status Kanban Lanes (Enhanced with 7 lanes)         β”‚    β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”                       β”‚    β”‚
β”‚  β”‚ β”‚ ID β”‚CTD β”‚RDY β”‚ACC β”‚SUB β”‚REV β”‚CNF │◄─ NEW LANES          β”‚    β”‚
β”‚  β”‚ β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€                       β”‚    β”‚
β”‚  β”‚ β”‚Johnβ”‚Maryβ”‚Bob β”‚Lisaβ”‚Tom β”‚Eve β”‚Max β”‚                       β”‚    β”‚
β”‚  β”‚ β”‚Janeβ”‚Sue β”‚    β”‚Mikeβ”‚    β”‚Ann β”‚    β”‚                       β”‚    β”‚
β”‚  β”‚ β”‚    β”‚    β”‚    β”‚    β”‚βš οΈ  β”‚    β”‚    │◄─ Changes requested  β”‚    β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”˜                       β”‚    β”‚
β”‚  β”‚                                                               β”‚    β”‚
β”‚  β”‚  SUB = Content Submitted (yellow, or red border if rejected)β”‚    β”‚
β”‚  β”‚  REV = Quality Reviewed (light green)                       β”‚    β”‚
β”‚  β”‚  CNF = Confirmed (dark green - both content + slot done)    β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                                       β”‚
β”‚  Navigation Examples:                                                β”‚
β”‚  β€’ Click speaker in ACCEPTED β†’ Content Submission Drawer            β”‚
β”‚  β€’ Click speaker in SUB/REV β†’ Quality Review Drawer                 β”‚
β”‚  β€’ Click speaker in any lane β†’ Details + History always available   β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

A. Content Submission Drawer (Speaker Status = ACCEPTED)

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Speaker Drawer (slides from right, 600px wide)               β”‚
  β”‚                                                                β”‚
  β”‚  Lisa Thompson - Tech AG                                      β”‚
  β”‚  Event #123 | Status: ACCEPTED                               β”‚
  β”‚                                                                β”‚
  β”‚  Tabs: [Details] [Content Submission βœ“] [Contact History]    β”‚
  β”‚  ──────────────────────────────────────────────────────────  β”‚
  β”‚                                                                β”‚
  β”‚  Tab: Content Submission (Active)                            β”‚
  β”‚                                                                β”‚
  β”‚  Speaker Information                                          β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ Search Speaker: [Lisa Thompson_____________] [Search]   β”‚  β”‚
  β”‚  β”‚                                                           β”‚  β”‚
  β”‚  β”‚ βœ“ Found: Lisa Thompson (lisa@techag.ch)                 β”‚  β”‚
  β”‚  β”‚   Company: Tech AG                                       β”‚  β”‚
  β”‚  β”‚   Role: SPEAKER                                          β”‚  β”‚
  β”‚  β”‚                                                           β”‚  β”‚
  β”‚  β”‚   [Edit Speaker Profile]  [Create New Speaker]          β”‚  β”‚
  β”‚  β”‚       ↑                                                   β”‚  β”‚
  β”‚  β”‚       └─ Opens existing UserEditModal (includes portrait)β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  Presentation Details                                         β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ Title: [Building Scalable Microservices_______________] β”‚  β”‚
  β”‚  β”‚        (Required)                                        β”‚  β”‚
  β”‚  β”‚                                                           β”‚  β”‚
  β”‚  β”‚ Abstract: (Required)                                     β”‚  β”‚
  β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚  β”‚
  β”‚  β”‚ β”‚ In this talk, I'll share lessons learned from   β”‚    β”‚  β”‚
  β”‚  β”‚ β”‚ building distributed systems at Tech AG...      β”‚    β”‚  β”‚
  β”‚  β”‚ β”‚                                                  β”‚    β”‚  β”‚
  β”‚  β”‚ β”‚                                                  β”‚    β”‚  β”‚
  β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚  β”‚
  β”‚  β”‚ 145/1000 characters                                      β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  [Cancel]                            [Submit Content]         β”‚
  β”‚                                                                β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Flow:

  1. Click speaker card in β€œACCEPTED” lane
  2. Drawer opens, β€œContent Submission” tab auto-selected
  3. Search/select speaker user (or create new via existing UserCreateModal)
  4. Fill title + abstract
  5. Click [Submit Content]
  6. Backend creates session + session_users junction
  7. Speaker moves to β€œSUB” lane (yellow background)
  8. Drawer closes

B. Quality Review Drawer (Speaker Status = CONTENT_SUBMITTED)

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Speaker Drawer (slides from right, 600px wide)               β”‚
  β”‚                                                                β”‚
  β”‚  Tom Brown - Dev Corp                                         β”‚
  β”‚  Event #123 | Status: CONTENT_SUBMITTED                      β”‚
  β”‚  Submitted: 2 hours ago                                       β”‚
  β”‚                                                                β”‚
  β”‚  Tabs: [Details] [Quality Review βœ“] [Contact History]        β”‚
  β”‚  ──────────────────────────────────────────────────────────  β”‚
  β”‚                                                                β”‚
  β”‚  Tab: Quality Review (Auto-selected for SUB status)          β”‚
  β”‚                                                                β”‚
  β”‚  Presentation Details                                         β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ Title: AI Ethics in Modern Software Development         β”‚  β”‚
  β”‚  β”‚                                                           β”‚  β”‚
  β”‚  β”‚ Abstract:                                                 β”‚  β”‚
  β”‚  β”‚ This talk explores the ethical implications of AI in    β”‚  β”‚
  β”‚  β”‚ software development. Drawing from lessons learned at   β”‚  β”‚
  β”‚  β”‚ Dev Corp, we'll discuss bias detection, transparency,   β”‚  β”‚
  β”‚  β”‚ and responsible AI deployment strategies.               β”‚  β”‚
  β”‚  β”‚                                                           β”‚  β”‚
  β”‚  β”‚ 215 characters                                           β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  Quality Checks                                               β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ βœ… Length OK (215/1000)                                  β”‚  β”‚
  β”‚  β”‚ βœ… "Lessons learned" detected                            β”‚  β”‚
  β”‚  β”‚ βœ… No product promotion detected                         β”‚  β”‚
  β”‚  β”‚ βœ… Professional tone                                     β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  Speaker Profile Preview                                      β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ [πŸ“· Portrait]  Tom Brown                                 β”‚  β”‚
  β”‚  β”‚                Email: tom@devcorp.com                    β”‚  β”‚
  β”‚  β”‚                Company: Dev Corp                         β”‚  β”‚
  β”‚  β”‚                Bio: AI/ML specialist with 10+ years...   β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  Reviewer Notes (Optional)                                    β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚ Internal notes visible to organizers only...            β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
  β”‚                                                                β”‚
  β”‚  [Request Changes]                             [Approve]      β”‚
  β”‚                                                                β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Request Changes Modal (if [Request Changes] clicked)        β”‚
  β”‚                                                              β”‚
  β”‚  Request Changes                                             β”‚
  β”‚  ──────────────────────────────────────────────────────── β”‚
  β”‚                                                              β”‚
  β”‚  Provide feedback for the organizer:                        β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ Please expand the lessons learned section with         β”‚β”‚
  β”‚  β”‚ specific examples. Add 1-2 concrete challenges faced   β”‚β”‚
  β”‚  β”‚ and how they were resolved.                            β”‚β”‚
  β”‚  β”‚                                                          β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β”‚  82/2000 characters                                          β”‚
  β”‚                                                              β”‚
  β”‚  ⚠️ Speaker will remain in "Content Submitted" status with  β”‚
  β”‚     changes requested badge. Organizer will be notified.    β”‚
  β”‚                                                              β”‚
  β”‚  [Cancel]                                [Send Feedback]    β”‚
  β”‚                                                              β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Flow:

  1. Click speaker card in β€œSUB” lane
  2. Drawer opens, β€œQuality Review” tab auto-selected
  3. Reviewer sees content + auto quality checks
  4. Option A: Click [Approve]
    • Speaker moves to β€œREV” lane (light green)
    • If slot also assigned β†’ auto-moves to β€œCNF” lane (dark green)
  5. Option B: Click [Request Changes]
    • Modal opens for feedback
    • Speaker stays in β€œSUB” lane with red border + ⚠️ badge
    • Organizer receives notification
    • Organizer updates content β†’ resubmits β†’ badge clears

Secondary Flow: Main Dashboard with Task Widget

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ AppHeader Navigation (Enhanced)                                      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  [Dashboard] [Events] [Content Review] [Tasks] [Team]  ◄─ NEW       β”‚
β”‚                                  ↑                                    β”‚
β”‚                                  └─ New top-level nav item           β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Content Review Queue                                                 β”‚
β”‚ Route: /organizer/content-review                                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  Filters: [All Events β–Ύ] [All Statuses β–Ύ] [Sort: Oldest First β–Ύ]   β”‚
β”‚                                                                       β”‚
β”‚  Review Queue (Kanban Style)                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ Pending Review (5)    β”‚ In Review (2)   β”‚ Approved (12)      β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚   β”‚
β”‚  β”‚ β”‚ Lisa Thompson   β”‚   β”‚ β”‚ Tom Brown   β”‚ β”‚ β”‚ Max Weber   β”‚   β”‚   β”‚
β”‚  β”‚ β”‚ Tech AG         β”‚   β”‚ β”‚ Dev Corp    β”‚ β”‚ β”‚ Code GmbH   β”‚   β”‚
β”‚  β”‚ β”‚ "Microservices" β”‚   β”‚ β”‚ "AI Ethics" β”‚ β”‚ β”‚ "Testing"   β”‚   β”‚
β”‚  β”‚ β”‚ Submitted: 2h   β”‚   β”‚ β”‚ Started: 1h β”‚ β”‚ β”‚ Done: 1d    β”‚   β”‚
β”‚  β”‚ β”‚ [Review]        │◄──┼─┼─Click opens β”‚ β”‚ β”‚             β”‚   β”‚   β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚ β”‚ drawer ───┐ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚   β”‚
β”‚  β”‚                       β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                     β”‚   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚                 β”‚                     β”‚   β”‚
β”‚  β”‚ β”‚ Eve Davis       β”‚   β”‚                 β”‚                     β”‚   β”‚
β”‚  β”‚ β”‚ Sys Inc         β”‚   β”‚                 β”‚                     β”‚   β”‚
β”‚  β”‚ β”‚ "Security"      β”‚   β”‚                 β”‚                     β”‚   β”‚
β”‚  β”‚ β”‚ Submitted: 5h   β”‚   β”‚                 β”‚                     β”‚   β”‚
β”‚  β”‚ β”‚ [Review]        β”‚   β”‚                 β”‚                     β”‚   β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚                 β”‚                     β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ Review Drawer (slides from right, 700px wide)                  β”‚β—„β”˜
β”‚  β”‚                                                                  β”‚
β”‚  β”‚  Lisa Thompson - Tech AG                                        β”‚
β”‚  β”‚  Event #123 | Submitted: 2 hours ago                           β”‚
β”‚  β”‚                                                                  β”‚
β”‚  β”‚  Presentation Details                                           β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚  β”‚ Title: Building Scalable Microservices                     β”‚β”‚
β”‚  β”‚  β”‚                                                              β”‚β”‚
β”‚  β”‚  β”‚ Abstract:                                                    β”‚β”‚
β”‚  β”‚  β”‚ In this talk, I'll share lessons learned from building      β”‚β”‚
β”‚  β”‚  β”‚ distributed systems at Tech AG. We'll cover service         β”‚β”‚
β”‚  β”‚  β”‚ discovery, fault tolerance, and deployment strategies.      β”‚β”‚
β”‚  β”‚  β”‚                                                              β”‚β”‚
β”‚  β”‚  β”‚ 145/1000 characters                                         β”‚β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚  β”‚                                                                  β”‚
β”‚  β”‚  Quality Checks                                                 β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚  β”‚ βœ… Length OK (145/1000)                                     β”‚β”‚
β”‚  β”‚  β”‚ βœ… "Lessons learned" detected                               β”‚β”‚
β”‚  β”‚  β”‚ βœ… No product promotion detected                            β”‚β”‚
β”‚  β”‚  β”‚ βœ… Professional tone                                        β”‚β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚  β”‚                                                                  β”‚
β”‚  β”‚  Speaker Profile                                                β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚  β”‚ [πŸ“· Portrait]                                               β”‚β”‚
β”‚  β”‚  β”‚ Email: lisa@techag.ch                                       β”‚β”‚
β”‚  β”‚  β”‚ Bio: Expert in distributed systems...                       β”‚β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚  β”‚                                                                  β”‚
β”‚  β”‚  Moderator Notes (Optional)                                     β”‚
β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
β”‚  β”‚  β”‚                                                              β”‚β”‚
β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
β”‚  β”‚                                                                  β”‚
β”‚  β”‚  [Request Changes]                              [Approve]       β”‚
β”‚  β”‚                                                                  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Request Changes Modal                                            β”‚
  β”‚                                                                  β”‚
  β”‚  Provide Feedback                                                β”‚
  β”‚  ────────────────────────────────────────────────────────────  β”‚
  β”‚                                                                  β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ Please expand on the lessons learned section. Provide      β”‚β”‚
  β”‚  β”‚ specific examples of challenges and solutions.             β”‚β”‚
  β”‚  β”‚                                                              β”‚β”‚
  β”‚  β”‚                                                              β”‚β”‚
  β”‚  β”‚                                                              β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β”‚  0/2000 characters                                               β”‚
  β”‚                                                                  β”‚
  β”‚  [Cancel]                                   [Send Feedback]     β”‚
  β”‚                                                                  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Navigation Flow:

  1. Moderator clicks β€œContent Review” in top navigation
  2. Sees Kanban board with all pending reviews across all events
  3. Clicks [Review] button on a card
  4. Review drawer opens with content + quality checks
  5. Reviews abstract against criteria
  6. Either approves β†’ moves to β€œApproved” lane
  7. Or requests changes β†’ opens feedback modal β†’ stays in β€œPending Review”
  8. Organizer receives notification with feedback
  9. Updates abstract β†’ resubmits β†’ back to β€œPending Review”

OPTION 3: Task Dashboard Integration

Concept: Content review as tasks in task dashboard

Pros:

  • Unified task management
  • Leverages existing task system
  • Natural fit for workflow automation
  • Organizers see all work in one place

Cons:

  • Content review is special (needs rich preview)
  • May clutter task dashboard
  • Less specialized review UI
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Task Dashboard                                                       β”‚
β”‚ Route: /organizer/tasks                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  Tabs: [My Tasks] [Team Tasks] [Content Reviews] ◄─ NEW TAB        β”‚
β”‚  ──────────────────────────────────────────────────────────────    β”‚
β”‚                                                                       β”‚
β”‚  Tab: Content Reviews (Active)                                       β”‚
β”‚                                                                       β”‚
β”‚  Review Queue                                                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ To Review (5)        β”‚ Reviewed (12)                          β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                  β”‚   β”‚
β”‚  β”‚ β”‚ Lisa Thompson    β”‚ β”‚ β”‚ Max Weber        β”‚                  β”‚   β”‚
β”‚  β”‚ β”‚ Event #123       β”‚ β”‚ β”‚ Event #123       β”‚                  β”‚   β”‚
β”‚  β”‚ β”‚ "Microservices"  β”‚ β”‚ β”‚ "Testing"        β”‚                  β”‚   β”‚
β”‚  β”‚ β”‚ Due: Today       β”‚ β”‚ β”‚ βœ… Approved 1d   β”‚                  β”‚   β”‚
β”‚  β”‚ β”‚ [Review Now]     β”‚ β”‚ β”‚                  β”‚                  β”‚   β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                       β”‚
β”‚  Tab: My Tasks (Example)                                             β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ To Do (3)            β”‚ In Progress (1)  β”‚ Done (5)            β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚   β”‚
β”‚  β”‚ β”‚ Venue Booking    β”‚ β”‚ β”‚ Newsletter   β”‚ β”‚ β”‚ Partner Mtg  β”‚  β”‚   β”‚
β”‚  β”‚ β”‚ Event #123       β”‚ β”‚ β”‚ Event #123   β”‚ β”‚ β”‚ Event #122   β”‚  β”‚   β”‚
β”‚  β”‚ β”‚ Due: Dec 20      β”‚ β”‚ β”‚ Due: Dec 18  β”‚ β”‚ β”‚ Done: Dec 10 β”‚  β”‚   β”‚
β”‚  β”‚ β”‚ [Start]          β”‚ β”‚ β”‚ [Complete]   β”‚ β”‚ β”‚              β”‚  β”‚   β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Task Dashboard Wireframes (All Options)

Regardless of content review integration, the task dashboard is needed for AC19-27.

Task Dashboard - Main View

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Task Dashboard                                                       β”‚
β”‚ Route: /organizer/tasks                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  Filters: [All Events β–Ύ] [All Assignees β–Ύ] [Sort: Due Date β–Ύ]      β”‚
β”‚                                                                       β”‚
β”‚  Task Kanban Board                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ To Do (8)              β”‚ In Progress (3)   β”‚ Completed (15)   β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚   β”‚
β”‚  β”‚ β”‚ 🏒 Venue Booking   β”‚ β”‚ β”‚ πŸ“§ Newsletter β”‚ β”‚ β”‚ 🀝 Partner   β”‚β”‚   β”‚
β”‚  β”‚ β”‚ Event #123         β”‚ β”‚ β”‚ Event #123    β”‚ β”‚ β”‚ Meeting      β”‚β”‚   β”‚
β”‚  β”‚ β”‚ Due: Dec 20 (2d)   β”‚ β”‚ β”‚ Due: Dec 18!  β”‚ β”‚ β”‚ Event #122   β”‚β”‚   β”‚
β”‚  β”‚ β”‚ Alice Johnson      β”‚ β”‚ β”‚ Bob Smith     β”‚ β”‚ β”‚ βœ… Done 1d   β”‚β”‚   β”‚
β”‚  β”‚ β”‚                    β”‚ β”‚ β”‚               β”‚ β”‚ β”‚              β”‚β”‚   β”‚
β”‚  β”‚ β”‚ [Start Task]       β”‚ β”‚ β”‚ [Complete]    β”‚ β”‚ β”‚              β”‚β”‚   β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚   β”‚
β”‚  β”‚                        β”‚                   β”‚                  β”‚   β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚   β”‚
β”‚  β”‚ β”‚ πŸ‘€ Moderator       β”‚ β”‚ β”‚ 🍽️ Catering  β”‚ β”‚ β”‚ πŸ“§ Newsletterβ”‚β”‚   β”‚
β”‚  β”‚ β”‚ Assignment         β”‚ β”‚ β”‚ Event #124    β”‚ β”‚ β”‚ Event #121   β”‚β”‚   β”‚
β”‚  β”‚ β”‚ Event #123         β”‚ β”‚ β”‚ Due: Dec 25   β”‚ β”‚ β”‚ βœ… Done 3d   β”‚β”‚   β”‚
β”‚  β”‚ β”‚ Due: Dec 22 (4d)   β”‚ β”‚ β”‚ Carol White   β”‚ β”‚ β”‚              β”‚β”‚   β”‚
β”‚  β”‚ β”‚ Alice Johnson      β”‚ β”‚ β”‚               β”‚ β”‚ β”‚              β”‚β”‚   β”‚
β”‚  β”‚ β”‚                    β”‚ β”‚ β”‚ [Complete]    β”‚ β”‚ β”‚              β”‚β”‚   β”‚
β”‚  β”‚ β”‚ [Start Task]       β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚   β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                   β”‚                  β”‚   β”‚
β”‚  β”‚                        β”‚                   β”‚                  β”‚   β”‚
β”‚  β”‚ [+ Add Custom Task]    β”‚                   β”‚                  β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                       β”‚
β”‚  Legend:                                                             β”‚
β”‚  πŸ”΄ Overdue  🟑 Due in <3 days  🟒 On track                         β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Task Completion Modal (click [Complete])                         β”‚
  β”‚                                                                  β”‚
  β”‚  Complete Task: Newsletter                                       β”‚
  β”‚  ────────────────────────────────────────────────────────────  β”‚
  β”‚                                                                  β”‚
  β”‚  Event: #123 - BATbern December 2024                            β”‚
  β”‚  Assigned: Bob Smith                                             β”‚
  β”‚  Due Date: December 18, 2024                                     β”‚
  β”‚                                                                  β”‚
  β”‚  Completion Notes                                                β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ Newsletter sent to 250 subscribers.                         β”‚β”‚
  β”‚  β”‚ Open rate: 45%                                               β”‚β”‚
  β”‚  β”‚ 12 new registrations from newsletter.                        β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β”‚                                                                  β”‚
  β”‚  [Cancel]                                   [Mark Complete]     β”‚
  β”‚                                                                  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Task Templates Management

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Event Creation - Task Configuration Step                            β”‚
β”‚ Route: /organizer/events/create (Step 5 of 7)                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  Steps: [1. Info] [2. Venue] [3. Team] [4. Timeline] [5. Tasks] ... β”‚
β”‚         ──────────────────────────────────────────────────────────  β”‚
β”‚                                                                       β”‚
β”‚  Configure Event Tasks                                               β”‚
β”‚                                                                       β”‚
β”‚  Select which tasks to auto-create for this event. Tasks will be    β”‚
β”‚  created automatically when the event reaches the trigger state.     β”‚
β”‚                                                                       β”‚
β”‚  Default Templates (7)                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ β˜‘ Venue Booking                                              β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: 90 days before event       β”‚   β”‚
β”‚  β”‚   Assign to: [Alice Johnson β–Ύ]                               β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Partner Meeting Coordination                               β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: Same day as event          β”‚   β”‚
β”‚  β”‚   Assign to: [Bob Smith β–Ύ]                                   β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Moderator Assignment                                       β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: 14 days before event       β”‚   β”‚
β”‚  β”‚   Assign to: [Alice Johnson β–Ύ]                               β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Newsletter: Topic Announcement                             β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: Immediately                β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                                 β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Newsletter: Speaker Lineup                                 β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Published | Due: 30 days before event      β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                                 β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Newsletter: Final Agenda                                   β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Finalized | Due: 14 days before event      β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                                 β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Catering Coordination                                      β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Finalized | Due: 30 days before event      β”‚   β”‚
β”‚  β”‚   Assign to: [Alice Johnson β–Ύ]                               β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                       β”‚
β”‚  [+ Add Custom Task]                                                 β”‚
β”‚                                                                       β”‚
β”‚  [Back]                                                     [Next]   β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Add Custom Task Modal                                            β”‚
  β”‚                                                                  β”‚
  β”‚  Create Custom Task Template                                     β”‚
  β”‚  ────────────────────────────────────────────────────────────  β”‚
  β”‚                                                                  β”‚
  β”‚  Task Name: [_______________________________________] *          β”‚
  β”‚                                                                  β”‚
  β”‚  Trigger State: [Topic Selection β–Ύ] *                           β”‚
  β”‚    Options: Created, Topic Selection, Speaker Brainstorming,    β”‚
  β”‚             Agenda Published, Agenda Finalized, etc.             β”‚
  β”‚                                                                  β”‚
  β”‚  Due Date Type: [⚫ Relative to Event] *                        β”‚
  β”‚                 β—‹ Immediate                                      β”‚
  β”‚                 β—‹ Absolute Date                                  β”‚
  β”‚                                                                  β”‚
  β”‚  Days Offset: [____] days [⚫ before] β—‹ after event             β”‚
  β”‚                                                                  β”‚
  β”‚  Assign To: [Select Organizer β–Ύ]                                β”‚
  β”‚                                                                  β”‚
  β”‚  β˜‘ Save as reusable template for future events                  β”‚
  β”‚                                                                  β”‚
  β”‚  [Cancel]                                    [Add Task]          β”‚
  β”‚                                                                  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Why Option 1?

  1. Natural Workflow Progression

    • Speaker moves IDENTIFIED β†’ CONTACTED β†’ READY β†’ ACCEPTED
    • Natural next step: Submit content (same page, same context)
    • No context switching required
  2. Leverages Existing Patterns

    • Already using drawers for SpeakerOutreach
    • Users familiar with drawer interaction
    • Consistent UX across organizer features
  3. Minimal Navigation Overhead

    • All speaker actions in one place
    • No need to remember separate pages
    • Reduces clicks from 5+ to 2
  4. Visual Progress Tracking

    • Kanban lanes show content submission status
    • Easy to see which speakers need content
    • Status badges indicate completion
  5. Parallel Workflow Support

    • Clear visual separation of SUB vs REV vs CNF lanes
    • Easy to understand parallel progression
    • Drag-drop still works for status changes

Implementation Plan

Phase 1: Extend Speaker Status Lanes

  • Add 3 new lanes: CONTENT_SUBMITTED, QUALITY_REVIEWED, CONFIRMED
  • Update status color mapping
  • Add visual badges for parallel workflow states

Phase 2: Content Submission Drawer

  • Add β€œContent Submission” tab to existing speaker drawer
  • Reuse UserLookupAutocomplete component (already exists)
  • Integrate portrait upload with S3 presigned URLs
  • Form validation with character counter

Phase 3: Quality Review Queue (Separate Page)

  • Create /organizer/content-review route (Option 2 for moderators)
  • Kanban board with review workflow
  • Drawer with quality checks UI
  • Approve/reject actions

Phase 4: Task Dashboard

  • Create /organizer/tasks route
  • Kanban board for task management
  • Task completion modal
  • Auto-create tasks on workflow transitions

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ AppHeader Navigation                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚  [Dashboard] [Events] [Content Review] [Tasks] [Team]           β”‚
β”‚       β”‚          β”‚            β”‚             β”‚                    β”‚
β”‚       β”‚          β”‚            β”‚             └─ /organizer/tasks  β”‚
β”‚       β”‚          β”‚            └─ /organizer/content-review       β”‚
β”‚       β”‚          └─ /organizer/events                            β”‚
β”‚       └─ /organizer                                              β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

/organizer/events (EventManagementDashboard)
    └─ Click Event Card
        ↓
    /organizer/events/:eventCode (EventDetail)
        β”œβ”€ Speaker Status Kanban Lanes (7 lanes)
        β”‚   └─ Click Speaker in ACCEPTED lane
        β”‚       ↓
        β”‚   Speaker Content Drawer (tabs: Details, Content Submission, History)
        β”‚       └─ Submit Content β†’ Speaker moves to CONTENT_SUBMITTED lane
        β”‚
        └─ [Edit Event Details] button
            ↓
        /organizer/events/:eventCode/edit (EventDetailEdit)
            └─ 7 sections including SpeakersSessionsTable

/organizer/content-review (QualityReviewQueue)
    └─ Kanban: Pending | In Review | Approved
        └─ Click [Review] button
            ↓
        Review Drawer (content + quality checks)
            β”œβ”€ [Approve] β†’ Speaker moves to QUALITY_REVIEWED
            └─ [Request Changes] β†’ Feedback modal β†’ stays in CONTENT_SUBMITTED

/organizer/tasks (TaskDashboard)
    └─ Kanban: To Do | In Progress | Completed
        └─ Click [Start] or [Complete]
            ↓
        Task Completion Modal (notes)

/organizer/events/create (Event Creation Wizard)
    └─ Step 5: Task Configuration
        β”œβ”€ Select default templates (7 pre-checked)
        └─ [+ Add Custom Task]
            ↓
        Custom Task Modal (trigger, due date, assignee)

User Stories & Flows

Flow 1: Organizer Submits Speaker Content (AC6-10)

Actor: Alice (Organizer) Precondition: Speaker β€œLisa Thompson” has accepted invitation (status=ACCEPTED)

  1. Alice navigates to /organizer/events/123
  2. Views Speaker Status Dashboard with Kanban lanes
  3. Sees Lisa in β€œACCEPTED” lane (green badge)
  4. Clicks Lisa’s card β†’ Speaker Content Drawer opens
  5. Switches to β€œContent Submission” tab
  6. Searches β€œLisa Thompson” in user autocomplete β†’ found
  7. Fills presentation title: β€œBuilding Scalable Microservices”
  8. Fills abstract: β€œIn this talk, I’ll share lessons learned…” (145 chars)
  9. Uploads portrait photo (optional)
  10. Clicks [Submit Content]
  11. Lisa’s card animates to β€œCONTENT_SUBMITTED” lane (yellow badge)
  12. Drawer closes, status summary updates: SUBMITTED count increases
  13. System creates session record + session_users junction
  14. SpeakerWorkflowStateChangeEvent published

Result: Lisa’s status = CONTENT_SUBMITTED, session created, ready for review


Flow 2: Moderator Reviews Content (AC11-15)

Actor: Bob (Moderator) Precondition: Lisa’s content submitted, status=CONTENT_SUBMITTED

  1. Bob navigates to /organizer/content-review
  2. Sees β€œPending Review (5)” column with Lisa’s card
  3. Clicks [Review] on Lisa’s card β†’ Review Drawer opens
  4. Reviews presentation details:
    • Title: β€œBuilding Scalable Microservices”
    • Abstract: 145 chars
  5. Quality checks auto-run:
    • βœ… Length OK (145/1000)
    • βœ… β€œLessons learned” detected
    • βœ… No product promotion
    • βœ… Professional tone
  6. Bob approves β†’ clicks [Approve]
  7. Lisa’s card moves to β€œApproved” column
  8. System updates speaker_pool.status = QUALITY_REVIEWED
  9. System checks: Does Lisa have slot assigned? (session.start_time != null)
  10. If YES β†’ auto-update to CONFIRMED + session_users.is_confirmed = true
  11. If NO β†’ stays in QUALITY_REVIEWED, waits for slot assignment

Result: Lisa’s content approved, status = QUALITY_REVIEWED (or CONFIRMED if slot assigned)


Flow 3: Organizer Creates Event with Tasks (AC19-27)

Actor: Carol (Organizer) Precondition: Creating new event

  1. Carol navigates to /organizer/events/create
  2. Completes Steps 1-4 (Event Info, Venue, Team, Timeline)
  3. Reaches Step 5: Task Configuration
  4. Sees 7 default templates pre-checked:
    • β˜‘ Venue Booking (trigger: topic_selection, due: -90d)
    • β˜‘ Partner Meeting (trigger: topic_selection, due: 0d)
    • β˜‘ Moderator Assignment (trigger: topic_selection, due: -14d)
    • β˜‘ Newsletter: Topic (trigger: topic_selection, due: immediate)
    • β˜‘ Newsletter: Speakers (trigger: agenda_published, due: -30d)
    • β˜‘ Newsletter: Final (trigger: agenda_finalized, due: -14d)
    • β˜‘ Catering (trigger: agenda_finalized, due: -30d)
  5. Assigns each task to team members via dropdowns
  6. Clicks [+ Add Custom Task] β†’ modal opens
  7. Creates custom task:
    • Name: β€œSponsor Outreach”
    • Trigger: Topic Selection
    • Due: 60 days before event
    • Assign: Carol
    • β˜‘ Save as template
  8. Clicks [Add Task] β†’ task added to list
  9. Clicks [Next] β†’ completes event creation
  10. Event transitions to TOPIC_SELECTION state
  11. EventTaskService listens to EventWorkflowTransitionEvent
  12. Auto-creates 4 tasks (venue, partner, moderator, newsletter:topic)
  13. Carol navigates to /organizer/tasks
  14. Sees β€œTo Do (4)” with newly created tasks

Result: Event created with 8 tasks, 4 auto-created and ready for assignment


Design System Alignment

Colors (Material-UI Theme)

Speaker Status Colors:

  • IDENTIFIED: Grey 500 (#9e9e9e)
  • CONTACTED: Amber 500 (#ffc107)
  • READY: Orange 500 (#ff9800)
  • ACCEPTED: Green 500 (#4caf50)
  • CONTENT_SUBMITTED: Yellow 700 (#fbc02d) ← NEW
  • QUALITY_REVIEWED: Light Green 600 (#7cb342) ← NEW
  • CONFIRMED: Green 800 (#2e7d32) ← NEW
  • DECLINED: Red 500 (#f44336)
  • WITHDREW: Grey 700 (#616161)
  • OVERFLOW: Purple 500 (#9c27b0)

Task Priority Colors:

  • Overdue: Red 600 (#e53935)
  • Due <3 days: Orange 600 (#fb8c00)
  • On track: Green 600 (#43a047)

Typography

  • Headers: Roboto, 24px, 600 weight
  • Body: Roboto, 14px, 400 weight
  • Captions: Roboto, 12px, 400 weight
  • Buttons: Roboto, 14px, 500 weight, uppercase

Spacing

  • Card padding: 16px
  • Section margin: 24px
  • Drawer width: 600px (content submission), 700px (review)
  • Modal max-width: 600px

UX Decisions (Finalized 2025-12-20)

1. Content Review Access Control

DECISION: Any ORGANIZER can review content (not restricted to MODERATOR role)

  • Faster reviews, distributed workload
  • Team can self-organize review assignments

2. Speaker Card Visual Design in New Lanes

DECISION: Same card design, different header color by status

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Lisa Thompson   β”‚ ← Yellow background (SUBMITTED)
β”‚ Tech AG         β”‚
β”‚ "Microservices" β”‚ ← Show presentation title
β”‚ Submitted: 2h   β”‚ ← Relative timestamp
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

3. Quality Review Rejection Flow

DECISION: Stay in CONTENT_SUBMITTED with β€œChanges Requested” visual indicator

  • Speaker remains in CONTENT_SUBMITTED lane
  • Red border + badge: β€œβš οΈ Changes Requested”
  • Organizer can see feedback in drawer
  • Resubmit updates content, removes badge

4. Task Dashboard Location

DECISION: Integrate into main Organizer Dashboard (not separate page)

  • Task widget on main dashboard showing critical/overdue tasks
  • Quick view of all tasks across all events
  • No dedicated /organizer/tasks page needed

5. Task Creation Timing

DECISION: Create all tasks immediately at event creation

  • Tasks created with status=β€œpending” until trigger state reached
  • Then auto-transition to status=β€œtodo”
  • Organizer sees full task list upfront for planning

6. Portrait Upload Location (Additional Decision)

DECISION: Remove portrait upload from Content Submission drawer

  • Portrait upload already exists in UserCreateModal/UserEditModal
  • Keep Content Submission focused on presentation details only
  • If organizer needs to update portrait, use β€œEdit Speaker Profile” button

7. Quality Review UI Pattern (Simplified)

DECISION: No dedicated review page - use drawer from Event Detail

  • Click speaker in CONTENT_SUBMITTED lane β†’ Quality Review drawer opens
  • Same drawer pattern as Content Submission, different tab
  • Streamlined UX, no context switching

8. Event Task Configuration (Integration)

DECISION: Task configuration as tab in EventDetailEdit modal (not separate step)

  • Existing EventDetailEdit has tabs: Info, Venue, Team, etc.
  • Add new β€œTasks” tab for task template selection
  • Inline with existing modal pattern

FINALIZED: Task Dashboard & Event Configuration

Based on stakeholder decisions, here are the finalized wireframes for task management:

Task Widget on Main Organizer Dashboard

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Organizer Dashboard (Enhanced with Tasks Widget)                    β”‚
β”‚ Route: /organizer/events                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Event Cards (Left 70%)   β”‚  β”‚ Right Sidebar (30%)            β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚                                  β”‚  β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚  β”‚ Critical Tasks (NEW)            β”‚  β”‚
β”‚  β”‚ β”‚ Event #123           β”‚β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚  β”‚
β”‚  β”‚ β”‚ Dec 15, 2024         β”‚β”‚  β”‚ β”‚ πŸ”΄ Overdue (2)               β”‚β”‚  β”‚
β”‚  β”‚ β”‚ Progress: 45%        β”‚β”‚  β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚β”‚  β”‚
β”‚  β”‚ β”‚ [View Details]       β”‚β”‚  β”‚ β”‚ β”‚ Newsletter: Topic        β”‚β”‚β”‚  β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  β”‚ β”‚ β”‚ Event #122               β”‚β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ β”‚ Due: Yesterday           β”‚β”‚β”‚  β”‚
β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚  β”‚ β”‚ β”‚ [Complete Now]           β”‚β”‚β”‚  β”‚
β”‚  β”‚ β”‚ Event #124           β”‚β”‚  β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚β”‚  β”‚
β”‚  β”‚ β”‚ Jan 20, 2025         β”‚β”‚  β”‚ β”‚                              β”‚β”‚  β”‚
β”‚  β”‚ β”‚ Progress: 12%        β”‚β”‚  β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚β”‚  β”‚
β”‚  β”‚ β”‚ [View Details]       β”‚β”‚  β”‚ β”‚ β”‚ Venue Booking            β”‚β”‚β”‚  β”‚
β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  β”‚ β”‚ β”‚ Event #123               β”‚β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ β”‚ Due: 2 days ago          β”‚β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ β”‚ [Complete Now]           β”‚β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚                                  β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ 🟑 Due Soon (5)                 β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ Moderator Assignment         β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ Event #123 | Due in 2 days   β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ [Start]                      β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ Catering                     β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ Event #124 | Due in 3 days   β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β”‚ [Start]                      β”‚β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚                                  β”‚  β”‚
β”‚  β”‚                          β”‚  β”‚ [View All Tasks (23)]            β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚                                  β”‚  β”‚
β”‚                                 β”‚ Team Activity                    β”‚  β”‚
β”‚                                 β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚  β”‚
β”‚                                 β”‚ β”‚ Alice completed Venue        β”‚β”‚  β”‚
β”‚                                 β”‚ β”‚ Booking for Event #122       β”‚β”‚  β”‚
β”‚                                 β”‚ β”‚ 2h ago                       β”‚β”‚  β”‚
β”‚                                 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚  β”‚
β”‚                                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Click [View All Tasks] opens expanded modal:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ All Tasks (Modal, 90% viewport width)                           β”‚
  β”‚                                                                  β”‚
  β”‚  Filters: [All Events β–Ύ] [My Tasks β–Ύ] [Sort: Due Date β–Ύ]      β”‚
  β”‚                                                                  β”‚
  β”‚  Task Board (Kanban)                                            β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚
  β”‚  β”‚ Pending (8)        β”‚ To Do (5)         β”‚ Completed (12)    β”‚β”‚
  β”‚  β”‚ (not yet active)   β”‚ (ready to work)   β”‚ (done)            β”‚β”‚
  β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”‚
  β”‚  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚β”‚
  β”‚  β”‚ β”‚ 🏒 Venue Book  β”‚ β”‚ β”‚ πŸ“§ Newsletter β”‚ β”‚ β”‚ 🀝 Partner    β”‚β”‚β”‚
  β”‚  β”‚ β”‚ Event #125     β”‚ β”‚ β”‚ Event #123    β”‚ β”‚ β”‚ Meeting       β”‚β”‚β”‚
  β”‚  β”‚ β”‚ Activates on:  β”‚ β”‚ β”‚ Due: Dec 18!  β”‚ β”‚ β”‚ Event #122    β”‚β”‚β”‚
  β”‚  β”‚ β”‚ Topic Select   β”‚ β”‚ β”‚ Bob S.        β”‚ β”‚ β”‚ βœ… Done 1d    β”‚β”‚β”‚
  β”‚  β”‚ β”‚ (not started)  β”‚ β”‚ β”‚ [Complete]    β”‚ β”‚ β”‚               β”‚β”‚β”‚
  β”‚  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚β”‚
  β”‚  β”‚                    β”‚                   β”‚                   β”‚β”‚
  β”‚  β”‚ ℹ️ These tasks willβ”‚                   β”‚                   β”‚β”‚
  β”‚  β”‚ activate when the β”‚                   β”‚                   β”‚β”‚
  β”‚  β”‚ event reaches theirβ”‚                  β”‚                   β”‚β”‚
  β”‚  β”‚ trigger state     β”‚                   β”‚                   β”‚β”‚
  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚
  β”‚                                                                  β”‚
  β”‚  Legend:                                                         β”‚
  β”‚  β€’ Pending: Created at event setup, waiting for trigger state   β”‚
  β”‚  β€’ To Do: Trigger state reached, ready to work                  β”‚
  β”‚  β€’ Completed: Task finished with notes                          β”‚
  β”‚                                                                  β”‚
  β”‚  [+ Add Custom Task]                               [Close]      β”‚
  β”‚                                                                  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Design Points:

  • Tasks created at event creation have status=β€œpending”
  • When event reaches trigger state, task auto-transitions to status=β€œtodo”
  • This gives organizers visibility into upcoming tasks without clutter
  • Critical widget shows only overdue + due soon (already β€œtodo” status)

Event Task Configuration (EventDetailEdit Tab)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Edit Event #123 (Modal)                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                       β”‚
β”‚  Tabs: [Info] [Venue] [Team] [Timeline] [Tasks βœ“] [Actions]        β”‚
β”‚  ──────────────────────────────────────────────────────────────────│
β”‚                                                                       β”‚
β”‚  Tab: Tasks (Active)                                                 β”‚
β”‚                                                                       β”‚
β”‚  Configure Event Tasks                                               β”‚
β”‚  Select which tasks to auto-create for this event. Tasks will be    β”‚
β”‚  created immediately with "pending" status until trigger reached.    β”‚
β”‚                                                                       β”‚
β”‚  Default Templates (7)                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ β˜‘ Venue Booking                                              β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: 90 days before event       β”‚   β”‚
β”‚  β”‚   Assign to: [Alice Johnson β–Ύ]                               β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Partner Meeting Coordination                               β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: Same day as event          β”‚   β”‚
β”‚  β”‚   Assign to: [Bob Smith β–Ύ]                                   β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Moderator Assignment                                       β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: 14 days before event       β”‚   β”‚
β”‚  β”‚   Assign to: [Alice Johnson β–Ύ]                               β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Newsletter: Topic Announcement                             β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: Immediately                β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                                 β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Newsletter: Speaker Lineup                                 β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Published | Due: 30 days before event      β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                                 β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Newsletter: Final Agenda                                   β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Finalized | Due: 14 days before event      β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                                 β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ Catering Coordination                                      β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Finalized | Due: 30 days before event      β”‚   β”‚
β”‚  β”‚   Assign to: [Alice Johnson β–Ύ]                               β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                       β”‚
β”‚  Custom Tasks for this Event (2)                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚ β˜‘ Sponsor Outreach                                           β”‚   β”‚
β”‚  β”‚   Trigger: Topic Selection | Due: 60 days before event       β”‚   β”‚
β”‚  β”‚   Assign to: [Carol White β–Ύ]                    [Edit] [βœ•]   β”‚   β”‚
β”‚  β”‚                                                               β”‚   β”‚
β”‚  β”‚ β˜‘ AV Equipment Rental                                        β”‚   β”‚
β”‚  β”‚   Trigger: Agenda Finalized | Due: 7 days before event       β”‚   β”‚
β”‚  β”‚   Assign to: [Bob Smith β–Ύ]                      [Edit] [βœ•]   β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                                       β”‚
β”‚  [+ Add Custom Task]                                                 β”‚
β”‚                                                                       β”‚
β”‚  [Cancel]                                              [Save Event]  β”‚
β”‚                                                                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Add Custom Task (Modal)                                          β”‚
  β”‚                                                                  β”‚
  β”‚  Create Custom Task                                              β”‚
  β”‚  ──────────────────────────────────────────────────────────── β”‚
  β”‚                                                                  β”‚
  β”‚  Task Name: [________________________________________] *         β”‚
  β”‚                                                                  β”‚
  β”‚  Trigger State: [Topic Selection β–Ύ] *                           β”‚
  β”‚    Options: Created, Topic Selection, Speaker Brainstorming,    β”‚
  β”‚             Agenda Published, Agenda Finalized, Complete         β”‚
  β”‚                                                                  β”‚
  β”‚  Due Date Type: [⚫ Relative to Event] *                        β”‚
  β”‚                 β—‹ Immediate (when trigger state reached)        β”‚
  β”‚                 β—‹ Absolute Date                                  β”‚
  β”‚                                                                  β”‚
  β”‚  Days Offset: [____] days [⚫ before] β—‹ after event             β”‚
  β”‚               (negative offset = before event date)              β”‚
  β”‚                                                                  β”‚
  β”‚  Assign To: [Select Organizer β–Ύ]                                β”‚
  β”‚                                                                  β”‚
  β”‚  ☐ Save as reusable template for future events                  β”‚
  β”‚                                                                  β”‚
  β”‚  [Cancel]                                    [Add Task]          β”‚
  β”‚                                                                  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Integration Points:

  • Tasks tab added to existing EventDetailEdit modal
  • Matches existing tab pattern (Info, Venue, Team, etc.)
  • All 7 default templates pre-checked
  • Custom tasks can be added per-event
  • Option to save custom task as reusable template

Finalized Navigation Map

/organizer/events (EventManagementDashboard)
    β”œβ”€ Right Sidebar: Task Widget (overdue + due soon)
    β”‚   └─ [View All Tasks] β†’ Task Board Modal (pending/todo/completed)
    β”‚
    └─ Click Event Card
        ↓
    /organizer/events/:eventCode (EventDetail)
        β”œβ”€ Speaker Status Kanban Lanes (7 lanes: ID/CTD/RDY/ACC/SUB/REV/CNF)
        β”‚   β”œβ”€ Click speaker in ACCEPTED β†’ Content Submission Drawer
        β”‚   β”‚       └─ Submit β†’ Speaker moves to SUB lane
        β”‚   β”‚
        β”‚   └─ Click speaker in SUB/REV β†’ Quality Review Drawer
        β”‚           β”œβ”€ [Approve] β†’ Speaker moves to REV (or CNF if slot assigned)
        β”‚           └─ [Request Changes] β†’ Feedback modal β†’ stays in SUB with badge
        β”‚
        └─ [Edit Event Details] button
            ↓
        EventDetailEdit Modal
            └─ Tabs: Info, Venue, Team, Timeline, [Tasks βœ“], Actions
                └─ Tasks Tab: Select default + custom task templates

Simplified from Original Proposal:

  • ❌ No dedicated /organizer/content-review page
  • ❌ No dedicated /organizer/tasks page
  • βœ… All features integrated into existing pages/modals
  • βœ… Leverages existing patterns (drawers, modals, Kanban)

Implementation Summary

Components to Create/Modify

New Components:

  1. ContentSubmissionDrawer.tsx - Content submission form (reuses UserLookupAutocomplete)
  2. QualityReviewDrawer.tsx - Quality review interface with auto-checks
  3. TaskWidget.tsx - Critical tasks widget for main dashboard
  4. TaskBoardModal.tsx - Expandable task Kanban board
  5. EventTasksTab.tsx - Task configuration in EventDetailEdit modal
  6. CustomTaskModal.tsx - Add/edit custom tasks

Modified Components:

  1. SpeakerStatusLanes.tsx - Add 3 new lanes (SUB, REV, CNF)
  2. SpeakerStatusDashboard.tsx - Update status counts for 7 lanes
  3. EventManagementDashboard.tsx - Add TaskWidget to right sidebar
  4. EventDetailEdit.tsx - Add Tasks tab to existing modal

Backend Services:

  • SpeakerContentSubmissionService - Handle content submission
  • QualityReviewService - Approve/reject workflow
  • TaskTemplateService - CRUD for task templates
  • EventTaskService - Auto-create tasks, status transitions

Database:

  • Migration V22: task_templates, event_tasks tables (already created)
  • No changes to speaker_pool (session_id column already exists from V20)

Next Steps

  1. βœ… Wireframes Finalized - Stakeholder feedback incorporated
  2. Begin Implementation - Phase 3-6 from story implementation plan
    • Phase 3: Content Submission (ContentSubmissionDrawer + backend)
    • Phase 4: Quality Review (QualityReviewDrawer + backend)
    • Phase 5: Task System Backend (auto-creation, transitions)
    • Phase 6: Task System Frontend (widget + modal + EventDetailEdit tab)
  3. Write Tests - Integration tests for all workflows
  4. Update OpenAPI - Document new endpoints
  5. Type Generation - Regenerate frontend types from OpenAPI specs


Document Status: βœ… Finalized - Ready for Implementation Last Updated: 2025-12-20 Author: James (Dev Agent) Stakeholder Approval: 2025-12-20 (UX decisions incorporated)