Phase 4: Narrator Area
Timeline: Weeks 13-15 Status: Planned
Core Goal
Enable narrators (voice actors) to self-manage their profiles, voices, and requests through dedicated backoffice access.
Narrator Features
Narrator Authentication
- Separate narrator login in backoffice
- Role-based access (narrator role)
- Independent from admin and client auth
- Email/password authentication
- Password reset functionality
Narrator Dashboard
- Overview of assigned requests
- Voice performance metrics
- Pending requests queue
- Completed requests history
- Earnings summary (if applicable)
Voice Profile Management
- Upload/edit voice samples
- Update profile information
- Set voice characteristics (gender, accent, style, language)
- Manage availability status
- Add/edit biography and experience
Request Assignment System
- View requests assigned to narrator
- Accept/decline request assignments
- Update request status (pending → in-progress → ready-for-review)
- Upload completed audio files
- Communication with admin
Admin Features (Enhanced)
Narrator Management
- Add/invite narrators
- Manage narrator accounts
- Assign requests to specific narrators
- Monitor narrator performance
- Approve/reject voice samples
Request Assignment Interface
- Manual assignment to narrators
- Auto-assignment based on voice selection
- Reassignment capability
- Assignment notification system
Core Workflows
Narrator Onboarding Flow
Request Assignment Flow
Narrator Request Management
Acceptance Criteria
F4.1 - Narrator Authentication
User Story: As a narrator, I want to log in to my dedicated area.
Acceptance Criteria:
- AC4.1.1: Given I'm invited narrator, when I receive email, then I see activation link valid for 48 hours
- AC4.1.2: Given I click activation link, when page loads, then I set password and complete profile
- AC4.1.3: Given valid credentials, when I login at /backoffice/narrator, then authenticated and redirected to dashboard
- AC4.1.4: Given wrong credentials, when I submit, then I see "invalid credentials" message
- AC4.1.5: Given inactive for 2 hours, when I perform action, then must re-authenticate
- AC4.1.6: Given I'm narrator, when I access admin URLs, then "access denied" message
F4.2 - Narrator Dashboard
User Story: As narrator, I want to see overview of my work.
Acceptance Criteria:
- AC4.2.1: Given I'm narrator, when dashboard loads, then I see: pending requests count, in-progress count, completed count, performance metrics
- AC4.2.2: Given pending assignments exist, when I view dashboard, then queue shows requests by submission date
- AC4.2.3: Given I view queue, when I see request, then I see: text preview (50 chars), client name, voice required, deadline, priority
- AC4.2.4: Given dashboard loads, when I wait, then all data appears within 3 seconds
- AC4.2.5: Given mobile view, when I view dashboard, then key metrics and urgent items prioritized
F4.3 - Voice Profile Management
User Story: As narrator, I want to manage my voice profile and samples.
Acceptance Criteria:
- AC4.3.1: Given I access profile, when page loads, then I see: biography, voice characteristics, samples, availability status
- AC4.3.2: Given I upload sample, when I select file (.mp3/.wav up to 20MB), then upload progress shown
- AC4.3.3: Given upload successful, when complete, then sample marked "pending approval" and admin notified
- AC4.3.4: Given I edit characteristics, when I save, then changes reflected in voice gallery after admin approval
- AC4.3.5: Given I set availability to "unavailable", when I save, then no new requests assigned
- AC4.3.6: Given I add biography, when I save, then visible in voice gallery (after admin approval)
F4.4 - Request Assignment & Management
User Story: As narrator, I want to manage assigned requests.
Acceptance Criteria:
- AC4.4.1: Given admin assigns request, when assignment created, then notification email sent within 5 minutes
- AC4.4.2: Given I receive assignment, when I access dashboard, then request visible in "Pending Assignments" queue
- AC4.4.3: Given I view assignment, when I click "Accept", then status changes to "accepted" and timestamp recorded
- AC4.4.4: Given I accept request, when I click "Set to In-Progress", then status updates and client notified
- AC4.4.5: Given in-progress request, when I upload audio, then file upload accepts .mp3/.wav up to 50MB
- AC4.4.6: Given upload successful, when I click "Submit for Review", then status "ready-for-review" and admin notified
- AC4.4.7: Given I decline assignment, when I provide reason, then admin notified and can reassign
- AC4.4.8: Given I view request details, when I see client message, then I can send internal message to admin
F4.5 - Admin Narrator Management
User Story: As admin, I want to manage narrator accounts and assignments.
Acceptance Criteria:
- AC4.5.1: Given I access narrator management, when page loads, then I see list of all narrators with status
- AC4.5.2: Given I click "Add Narrator", when I enter email, then invitation sent within 5 minutes
- AC4.5.3: Given I view narrator profile, when I see pending samples, then I can approve/reject with feedback
- AC4.5.4: Given I review request, when I select narrator, then dropdown shows available narrators matching voice requirements
- AC4.5.5: Given I assign request, when I save, then narrator notified and assignment visible in their dashboard
- AC4.5.6: Given narrator submits for review, when I receive notification, then I can approve or request revisions
- AC4.5.7: Given I need to reassign, when I select new narrator, then original narrator notified and access revoked
F4.6 - Email Notifications
User Story: As narrator/admin, I want timely notifications for assignments and updates.
Acceptance Criteria:
- AC4.6.1: Given narrator invited, when account created, then invitation email sent within 5 minutes
- AC4.6.2: Given request assigned, when assignment created, then narrator email sent within 5 minutes
- AC4.6.3: Given narrator accepts, when status changes, then admin email sent within 10 minutes
- AC4.6.4: Given narrator submits for review, when status changes, then admin email sent within 10 minutes
- AC4.6.5: Given admin approves audio, when status changes, then narrator email sent within 10 minutes
- AC4.6.6: Given narrator uploads sample, when sample submitted, then admin approval email sent within 5 minutes
Technical Requirements
Backend
- Narrator role and permissions
- Request assignment API endpoints
- Narrator profile management endpoints
- Audio upload with narrator attribution
- Notification system for assignments
Frontend (Backoffice)
- Narrator login page
- Narrator dashboard interface
- Voice profile editor
- Request management interface
- Audio upload component
Database Schema
- Narrators table
- Request assignments table (links requests to narrators)
- Voice samples table (linked to narrators)
- Narrator availability table
Notifications
- Email notifications for request assignments
- Email notifications for status updates
- In-app notification system
Integration with Existing Phases
Builds on Phase 3
- Uses voice actor profiles created in Phase 3
- Extends voice management with narrator self-service
- Links voice gallery to narrator accounts
Enhances Phase 1
- Request management workflow now includes narrator assignment
- Admin processing workflow updated to include narrator collaboration
- Status tracking expanded (pending → assigned → in-progress → ready-for-review → completed)
Limitations (Phase 4)
- ❌ No automatic narrator assignment (manual only)
- ❌ No narrator payment/earnings system (comes in Phase 7)
- ❌ No client-narrator direct communication
- ❌ No narrator rating/review system
- ❌ No narrator availability calendar
Success Criteria
Functionality
- ✅ Narrator can log in and access dashboard
- ✅ Narrator can manage voice profile and samples
- ✅ Admin can assign requests to narrators
- ✅ Narrator can view and accept assignments
- ✅ Narrator can upload completed audio
- ✅ Email notifications work for all parties
Performance
- Dashboard load < 3 seconds
- Audio upload < 10 seconds (for typical file sizes)
- Email delivery < 5 minutes
User Experience
- Clear assignment workflow
- Intuitive narrator dashboard
- Helpful status indicators
Deliverables
-
Narrator Portal
- Login page
- Dashboard
- Profile management
- Request queue interface
- Audio upload component
-
Admin Enhancements
- Narrator management interface
- Request assignment interface
- Sample approval workflow
-
Email Templates
- Narrator invitation
- Request assignment notification
- Status update notifications
- Sample approval/rejection
-
Documentation
- Narrator user guide
- Admin assignment guide
- API documentation
Next Phase
➡️ Phase 5: Accessibility Polish