15 - Features & Roadmap
Overview
This document outlines the current feature set of the platform, identifies pending/incomplete work, and proposes enhancements for the target market: amateur music producers to enterprise music managers.
✅ Implemented Features
Core Music Management
| Feature | Status | Description |
|---|---|---|
| Artist Spaces | ✅ Complete | Create, edit, delete artist workspaces |
| Projects | ✅ Complete | Organize tracks into Albums, EPs, Singles |
| Tracks | ✅ Complete | Create tracks with metadata, status, order |
| Audio Versions | ✅ Complete | Upload multiple audio versions per track |
| Waveform Player | ✅ Complete | WaveSurfer.js visualization with seek, volume |
| Track Status | ✅ Complete | 7-stage workflow (Not Started → Completed) |
| Drag & Drop | ✅ Complete | Reorder tracks, upload files via DnD |
| Attachments | ✅ Complete | Upload files (PDFs, images, etc.) to tracks |
Collaboration
| Feature | Status | Description |
|---|---|---|
| Team Members | ✅ Complete | Add collaborators to artists/projects |
| Role-Based Access | ✅ Complete | Owner, Admin, Editor, Viewer roles |
| Share Links | ✅ Complete | Generate shareable links with role assignment |
| Invitation System | ✅ Complete | Invite users via link with accept flow |
| Transfers View | ✅ Complete | See all shared content in one place |
Audio Player
| Feature | Status | Description |
|---|---|---|
| Desktop Player | ✅ Complete | Full-featured player with controls |
| Mobile Player | ✅ Complete | Compact responsive player |
| Play/Pause | ✅ Complete | Basic playback controls |
| Volume Control | ✅ Complete | Volume slider with mute |
| Seek | ✅ Complete | Click-to-seek on waveform |
| Version Switching | ✅ Complete | Switch between audio versions |
| Loop/Shuffle | ✅ Complete | Playback mode options |
Comments & Feedback
| Feature | Status | Description |
|---|---|---|
| Timestamped Comments | ✅ Complete | Add comments at specific waveform positions |
| Comment Status | ✅ Complete | Mark comments as No status / In process / Completed |
| Comments Drawer | ✅ Complete | View all comments in slide-out panel |
Track Metadata (Portals)
| Feature | Status | Description |
|---|---|---|
| Credits Management | ✅ Complete | Track production credits |
| Track Info Fields | ✅ Complete | Genre, Label, Artists, Notes |
| ISRC/UPC Codes | ✅ Complete | Industry standard codes |
| Release Date | ✅ Complete | Set planned release date |
User Management
| Feature | Status | Description |
|---|---|---|
| Authentication | ✅ Complete | Email/password + Google OAuth |
| Profile Settings | ✅ Complete | Edit name, email, avatar |
| Password Change | ✅ Complete | Update password |
| Notification Settings | ✅ Complete | Configure notification preferences |
| Onboarding | ✅ Complete | New user welcome flow |
Subscription & Billing
| Feature | Status | Description |
|---|---|---|
| Stripe Integration | ✅ Complete | Payment processing |
| Plan Selection | ✅ Complete | Free, Pro, Enterprise tiers |
| Monthly/Annual | ✅ Complete | Toggle billing period |
| Storage Limits | ✅ Complete | Track usage against plan limits |
| Upgrade Flow | ✅ Complete | Checkout with Stripe |
File Management
| Feature | Status | Description |
|---|---|---|
| Trash | ✅ Complete | Deleted items with restore option |
| Storage Summary | ✅ Complete | View storage usage |
| File Upload | ✅ Complete | Drag & drop with progress |
| Download Files | ✅ Complete | Download individual files |
Search & Navigation
| Feature | Status | Description |
|---|---|---|
| Global Search | ✅ Complete | Search artists, projects, tracks |
| Search Results | ✅ Complete | Grid and list views |
| Breadcrumbs | ✅ Complete | Navigation path display |
| Recent Tracks | ✅ Complete | Quick access to recent work |
UI/UX
| Feature | Status | Description |
|---|---|---|
| Dark/Light Theme | ✅ Complete | Theme switching |
| Multiple Layouts | ✅ Complete | 6 layout options |
| Responsive Design | ✅ Complete | Mobile, tablet, desktop |
| Skeleton Loading | ✅ Complete | Loading state animations |
| Toast Notifications | ✅ Complete | Action feedback |
🚧 Pending / Incomplete Features
Identified from Codebase
| Feature | Status | Location | Issue |
|---|---|---|---|
| Flash Links | 🚧 Partial | transfers/index.tsx | Tab commented out - "Coming soon" |
| Project Links | 🚧 Partial | transfers/index.tsx | Tab commented out - "Coming soon" |
| Library Page | 🚧 Partial | library/page.tsx | Exists but minimal functionality |
| Delete Image | 🚧 TODO | artist-modal.tsx | "TO_DO: Delete image" comment |
| Stepper UX | 🚧 TODO | artist-modal.tsx | "TO_DO: Stepper" for creation flow |
| Share Modal Integration | 🚧 TODO | Multiple modals | openShareModal() commented out |
| Mobile Wave View | 🚧 TODO | new-wave-header.tsx | "Pendent review the mmd part" |
| Favicon | 🚧 TODO | site.config.tsx | "TODO: favicon" |
| Role Validation | 🚧 TODO | API: project.service.ts | "TO_DO: Add validation of roles" |
Backend Features Not Yet Integrated (from wavic-api)
| Feature | API Status | Frontend Status |
|---|---|---|
| Subscription Limits | ✅ Ready | ❓ Unknown |
| Track Limit Enforcement | ✅ Ready | ❓ Unknown |
| Soft Delete | ✅ Ready | ✅ Integrated |
| Recent Access Tracking | ✅ Ready | ✅ Integrated |
| Onboarding Tracking | ✅ Ready | ✅ Integrated |
🎯 Nice-to-Have Features
For Amateur Music Producers (Hobbyists & Independents)
| Feature | Priority | Description |
|---|---|---|
| Offline Mode | Medium | Work without internet, sync later |
| Mobile App | High | Native iOS/Android app |
| Quick Share | High | One-click shareable preview links |
| Audio Comparison | High | A/B compare two versions side-by-side |
| Waveform Markers | Medium | Save important positions on timeline |
| Lyrics Integration | Low | Attach and sync lyrics to tracks |
| Reference Tracks | Medium | Upload reference audio for comparison |
| Export Stems | Low | Bundle and export all track versions |
| DAW Integration | Low | Plugin to sync with Ableton, Logic, etc. |
For Professional Studios & Small Labels
| Feature | Priority | Description |
|---|---|---|
| Client Portals | High | Branded pages for client review |
| Approval Workflow | High | Request sign-off on versions |
| Activity Timeline | High | Full audit log of changes |
| Custom Branding | Medium | White-label with studio logo |
| Scheduled Sharing | Medium | Share links that activate at a date |
| Watermarking | Medium | Audio watermarks for preview versions |
| Analytics Dashboard | Medium | Play counts, engagement metrics |
| Integration: Dropbox/Drive | Low | Sync with cloud storage |
| Batch Operations | Medium | Multi-select and bulk actions |
For Enterprise Music Managers & Labels
| Feature | Priority | Description |
|---|---|---|
| Multi-Tenant | High | Separate workspaces per label/division |
| SSO/SAML | High | Enterprise single sign-on |
| Advanced Permissions | High | Granular access control per track |
| API Access | High | REST/GraphQL API for integrations |
| Webhooks | Medium | Real-time notifications to external systems |
| Bulk Import | High | CSV/JSON import of catalog metadata |
| Distribution Integration | High | Connect to DistroKid, TuneCore, etc. |
| Royalty Tracking | Medium | Split calculations and reporting |
| Contract Management | Low | Attach contracts to projects |
| Rights Management | Medium | Territory and rights tracking |
| Catalog Search | High | Advanced filtering by metadata |
| Custom Workflows | Medium | Configurable approval stages |
| Audit Compliance | Medium | SOC2, GDPR compliance features |
| Data Export | High | Export all data for backup/migration |
📊 Feature Matrix by User Type
| Feature Category | Amateur 🎵 | Pro Studio 🎛️ | Enterprise 🏢 |
|---|---|---|---|
| Basic Track Management | ✅ | ✅ | ✅ |
| Audio Waveform Player | ✅ | ✅ | ✅ |
| Collaboration (Team) | ✅ | ✅ | ✅ |
| Share Links | ✅ | ✅ | ✅ |
| Version Control | ✅ | ✅ | ✅ |
| Comments & Feedback | ✅ | ✅ | ✅ |
| Storage (50GB-1TB) | ✅ | ✅ | ✅ |
| Client Portals | ❌ | 🎯 | ✅ |
| Approval Workflow | ❌ | 🎯 | ✅ |
| Custom Branding | ❌ | 🎯 | ✅ |
| Activity Audit Log | ❌ | 🎯 | ✅ |
| SSO/SAML | ❌ | ❌ | 🎯 |
| API Access | ❌ | ❌ | 🎯 |
| Multi-Tenant | ❌ | ❌ | 🎯 |
| Distribution Integration | ❌ | 🎯 | ✅ |
| Analytics | ❌ | 🎯 | ✅ |
Legend: ✅ Included | 🎯 Target Feature | ❌ Not Needed
🛣️ Suggested Roadmap
Phase 1: Polish & Infrastructure (1-2 Months)
- [ ] Complete Flash Links and Project Links tabs
- [ ] Fix all TO_DO items in codebase
- [ ] Add favicon and polish branding
- [ ] Improve mobile waveform experience
- [ ] Add A/B version comparison
- [ ] Infrastructure: Deploy API to Azure Container Apps
- [ ] Infrastructure: Set up Azure Cosmos DB (MongoDB API)
- [ ] Infrastructure: Configure Azure Blob Storage for audio files
- [ ] Infrastructure: Add Azure CDN for audio streaming
- [ ] Observability: Add Sentry + Application Insights
- [ ] Testing: Add Vitest unit tests + Playwright E2E
Phase 2: Professional Features (2-3 Months)
- [ ] Client portals with custom branding
- [ ] Approval workflow (request sign-off)
- [ ] Activity timeline / audit log
- [ ] Audio watermarking for previews
- [ ] Analytics dashboard (play counts)
Phase 3: Enterprise Features (3-6 Months)
- [ ] SSO/SAML integration
- [ ] REST API for external integrations
- [ ] Multi-tenant architecture
- [ ] Advanced permissions system
- [ ] Bulk import/export tools
Phase 4: Ecosystem (6+ Months)
- [ ] Mobile app (React Native or native)
- [ ] DAW plugins
- [ ] Distribution platform integrations
- [ ] Royalty tracking
💡 Technical Debt
| Item | Priority | Location |
|---|---|---|
| Test coverage missing | 🔴 Critical | No test files - add Vitest + Playwright |
| Observability missing | 🔴 Critical | Add Sentry + Azure Application Insights |
| Type definitions incomplete | 🟡 Medium | types/ - many any types |
| Console.log statements | 🟢 Low | Various - remove for production |
| Error handling inconsistent | 🟡 Medium | Server actions need unified approach |
| Accessibility (a11y) | 🟡 Medium | Needs ARIA labels, keyboard nav |
| Performance optimization | 🟡 Medium | Large bundle size, could code-split more |
| API error messages | 🟢 Low | User-facing errors need polish |
☁️ Cloud Infrastructure
Platform: Microsoft Azure
Rationale:
- GitHub Actions configured for CI/CD
- MongoDB Atlas for document-based data (artists, projects, tracks)
- Container Apps ideal for NestJS backend
- Blob Storage competitive pricing for audio files
- Front Door CDN provides global content delivery
- Single cloud provider = simplified operations
Service Architecture
| Component | Azure Service | Status |
|---|---|---|
| API (NestJS) | Container Apps | ✅ Deployed |
| Database | MongoDB Atlas (external) | ✅ Active |
| File Storage | Blob Storage | ✅ Active |
| CDN | Front Door (Standard) | ✅ Deployed |
| Container | Container Registry (Basic) | ✅ Active |
| Frontend | Static Web Apps (Free) | ✅ Deployed |
| Monitoring | Sentry (Developer, free) | 🔜 Setting up |
| Auth | Google OAuth + NextAuth.js | ✅ Active |
| CI/CD | GitHub Actions | ✅ Configured |
For complete resource details, see AZURE-RESOURCES.md and CDN-FRONTDOOR.md.
Estimated Monthly Costs
| Scale | Estimate | Includes |
|---|---|---|
| Dev/Test | ~$11-16 | Container Apps free tier, Atlas M0, Front Door |
| 100 users | ~$50-100 | Production containers, Atlas M10, CDN |
| 1000+ users | ~$200-400 | Auto-scaling, reserved capacity, premium CDN |
🔧 Technical Debt
| Issue | Severity | Notes |
|---|---|---|
| Type definitions incomplete | Medium | types/ - many any types |
| Console.log statements | Low | Various - remove for production |
| Error handling inconsistent | Medium | Server actions need unified approach |
| Test coverage missing | High | No test files found |
| Accessibility (a11y) | Medium | Needs ARIA labels, keyboard nav |
| Performance optimization | Medium | Large bundle size, could code-split more |
| API error messages | Low | User-facing errors need polish |