Skip to content

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

FeatureStatusDescription
Artist Spaces✅ CompleteCreate, edit, delete artist workspaces
Projects✅ CompleteOrganize tracks into Albums, EPs, Singles
Tracks✅ CompleteCreate tracks with metadata, status, order
Audio Versions✅ CompleteUpload multiple audio versions per track
Waveform Player✅ CompleteWaveSurfer.js visualization with seek, volume
Track Status✅ Complete7-stage workflow (Not Started → Completed)
Drag & Drop✅ CompleteReorder tracks, upload files via DnD
Attachments✅ CompleteUpload files (PDFs, images, etc.) to tracks

Collaboration

FeatureStatusDescription
Team Members✅ CompleteAdd collaborators to artists/projects
Role-Based Access✅ CompleteOwner, Admin, Editor, Viewer roles
Share Links✅ CompleteGenerate shareable links with role assignment
Invitation System✅ CompleteInvite users via link with accept flow
Transfers View✅ CompleteSee all shared content in one place

Audio Player

FeatureStatusDescription
Desktop Player✅ CompleteFull-featured player with controls
Mobile Player✅ CompleteCompact responsive player
Play/Pause✅ CompleteBasic playback controls
Volume Control✅ CompleteVolume slider with mute
Seek✅ CompleteClick-to-seek on waveform
Version Switching✅ CompleteSwitch between audio versions
Loop/Shuffle✅ CompletePlayback mode options

Comments & Feedback

FeatureStatusDescription
Timestamped Comments✅ CompleteAdd comments at specific waveform positions
Comment Status✅ CompleteMark comments as No status / In process / Completed
Comments Drawer✅ CompleteView all comments in slide-out panel

Track Metadata (Portals)

FeatureStatusDescription
Credits Management✅ CompleteTrack production credits
Track Info Fields✅ CompleteGenre, Label, Artists, Notes
ISRC/UPC Codes✅ CompleteIndustry standard codes
Release Date✅ CompleteSet planned release date

User Management

FeatureStatusDescription
Authentication✅ CompleteEmail/password + Google OAuth
Profile Settings✅ CompleteEdit name, email, avatar
Password Change✅ CompleteUpdate password
Notification Settings✅ CompleteConfigure notification preferences
Onboarding✅ CompleteNew user welcome flow

Subscription & Billing

FeatureStatusDescription
Stripe Integration✅ CompletePayment processing
Plan Selection✅ CompleteFree, Pro, Enterprise tiers
Monthly/Annual✅ CompleteToggle billing period
Storage Limits✅ CompleteTrack usage against plan limits
Upgrade Flow✅ CompleteCheckout with Stripe

File Management

FeatureStatusDescription
Trash✅ CompleteDeleted items with restore option
Storage Summary✅ CompleteView storage usage
File Upload✅ CompleteDrag & drop with progress
Download Files✅ CompleteDownload individual files

Search & Navigation

FeatureStatusDescription
Global Search✅ CompleteSearch artists, projects, tracks
Search Results✅ CompleteGrid and list views
Breadcrumbs✅ CompleteNavigation path display
Recent Tracks✅ CompleteQuick access to recent work

UI/UX

FeatureStatusDescription
Dark/Light Theme✅ CompleteTheme switching
Multiple Layouts✅ Complete6 layout options
Responsive Design✅ CompleteMobile, tablet, desktop
Skeleton Loading✅ CompleteLoading state animations
Toast Notifications✅ CompleteAction feedback

🚧 Pending / Incomplete Features

Identified from Codebase

FeatureStatusLocationIssue
Flash Links🚧 Partialtransfers/index.tsxTab commented out - "Coming soon"
Project Links🚧 Partialtransfers/index.tsxTab commented out - "Coming soon"
Library Page🚧 Partiallibrary/page.tsxExists but minimal functionality
Delete Image🚧 TODOartist-modal.tsx"TO_DO: Delete image" comment
Stepper UX🚧 TODOartist-modal.tsx"TO_DO: Stepper" for creation flow
Share Modal Integration🚧 TODOMultiple modalsopenShareModal() commented out
Mobile Wave View🚧 TODOnew-wave-header.tsx"Pendent review the mmd part"
Favicon🚧 TODOsite.config.tsx"TODO: favicon"
Role Validation🚧 TODOAPI: project.service.ts"TO_DO: Add validation of roles"

Backend Features Not Yet Integrated (from wavic-api)

FeatureAPI StatusFrontend 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)

FeaturePriorityDescription
Offline ModeMediumWork without internet, sync later
Mobile AppHighNative iOS/Android app
Quick ShareHighOne-click shareable preview links
Audio ComparisonHighA/B compare two versions side-by-side
Waveform MarkersMediumSave important positions on timeline
Lyrics IntegrationLowAttach and sync lyrics to tracks
Reference TracksMediumUpload reference audio for comparison
Export StemsLowBundle and export all track versions
DAW IntegrationLowPlugin to sync with Ableton, Logic, etc.

For Professional Studios & Small Labels

FeaturePriorityDescription
Client PortalsHighBranded pages for client review
Approval WorkflowHighRequest sign-off on versions
Activity TimelineHighFull audit log of changes
Custom BrandingMediumWhite-label with studio logo
Scheduled SharingMediumShare links that activate at a date
WatermarkingMediumAudio watermarks for preview versions
Analytics DashboardMediumPlay counts, engagement metrics
Integration: Dropbox/DriveLowSync with cloud storage
Batch OperationsMediumMulti-select and bulk actions

For Enterprise Music Managers & Labels

FeaturePriorityDescription
Multi-TenantHighSeparate workspaces per label/division
SSO/SAMLHighEnterprise single sign-on
Advanced PermissionsHighGranular access control per track
API AccessHighREST/GraphQL API for integrations
WebhooksMediumReal-time notifications to external systems
Bulk ImportHighCSV/JSON import of catalog metadata
Distribution IntegrationHighConnect to DistroKid, TuneCore, etc.
Royalty TrackingMediumSplit calculations and reporting
Contract ManagementLowAttach contracts to projects
Rights ManagementMediumTerritory and rights tracking
Catalog SearchHighAdvanced filtering by metadata
Custom WorkflowsMediumConfigurable approval stages
Audit ComplianceMediumSOC2, GDPR compliance features
Data ExportHighExport all data for backup/migration

📊 Feature Matrix by User Type

Feature CategoryAmateur 🎵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

ItemPriorityLocation
Test coverage missing🔴 CriticalNo test files - add Vitest + Playwright
Observability missing🔴 CriticalAdd Sentry + Azure Application Insights
Type definitions incomplete🟡 Mediumtypes/ - many any types
Console.log statements🟢 LowVarious - remove for production
Error handling inconsistent🟡 MediumServer actions need unified approach
Accessibility (a11y)🟡 MediumNeeds ARIA labels, keyboard nav
Performance optimization🟡 MediumLarge bundle size, could code-split more
API error messages🟢 LowUser-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

ComponentAzure ServiceStatus
API (NestJS)Container Apps✅ Deployed
DatabaseMongoDB Atlas (external)✅ Active
File StorageBlob Storage✅ Active
CDNFront Door (Standard)✅ Deployed
ContainerContainer Registry (Basic)✅ Active
FrontendStatic Web Apps (Free)✅ Deployed
MonitoringSentry (Developer, free)🔜 Setting up
AuthGoogle OAuth + NextAuth.js✅ Active
CI/CDGitHub Actions✅ Configured

For complete resource details, see AZURE-RESOURCES.md and CDN-FRONTDOOR.md.

Estimated Monthly Costs

ScaleEstimateIncludes
Dev/Test~$11-16Container Apps free tier, Atlas M0, Front Door
100 users~$50-100Production containers, Atlas M10, CDN
1000+ users~$200-400Auto-scaling, reserved capacity, premium CDN

🔧 Technical Debt

IssueSeverityNotes
Type definitions incompleteMediumtypes/ - many any types
Console.log statementsLowVarious - remove for production
Error handling inconsistentMediumServer actions need unified approach
Test coverage missingHighNo test files found
Accessibility (a11y)MediumNeeds ARIA labels, keyboard nav
Performance optimizationMediumLarge bundle size, could code-split more
API error messagesLowUser-facing errors need polish

Ctrl-Audio Platform Documentation