Long-Term Vision
EXTENDED VISION (1-3+ Years)
🔮 Compose Module (Future Module)
From: Music Application Project Proposal - Data Entry Module - 2025-11-03 (1.6k words)
- Status: 📋 REFERENCE - Original product vision document
- Summary: Second module in three-module application vision - organize raw ideas into concrete song structures.
Module Purpose
"Organize your thoughts into the building blocks of your song. Once you've integrated your ideas and designed the song, take your concrete ideas to your DAW program to create the final copy."
Three-Module Application Vision
1. Data Entry Module (SongDrive current focus) ✅
- Raw data input: audio files, trimmed clips, multimedia
- Comments on projects, files, clips
- Music playback and trimming
- Team-based project isolation
2. Compose Module (future) 🔮
- Organize thoughts into song building blocks
- Integrate ideas into concrete song structure
- Export to DAW for final production
3. Perform Module (future) 🔮
- Real-time communication during live improvisation
- Communicate progression/key changes to band
- Sheet music / lead sheet alternative
Compose Module Features (Conceptual)
Song Building Blocks:
- Sections: Intro, verse, chorus, bridge, outro (defined in Data Entry Module)
- Chords: Chord progressions per section
- Lyrics: Lyric blocks aligned to sections
- Melody: Melodic ideas captured as MIDI or audio references
- Arrangement: Visual timeline of how sections connect
Integration with Data Entry Module:
- Import trimmed clips from Data Entry Module as section references
- Attach raw recordings to specific song sections
- Reference comments from Data Entry Module for production notes
Export to DAW:
- Generate session template with sections marked
- Export MIDI data for chords/melody
- Export audio stems organized by section
- Include lyrics and notes as text file in session folder
Use Cases:
- Songwriter collects 20 voice memo ideas, uses Compose Module to assemble into full song structure
- Band has 10 jam session recordings, extracts best parts and arranges into setlist
- Producer organizes client feedback and revision requests into actionable song roadmap
🔮 Perform Module (Future Module)
From: Music Application Project Proposal - Performance Module - 2025-11-03 (503 words)
- Status: 🔮 VISION - Future module concept
- Summary: Real-time collaboration tool for live improvisation and performance coordination.
Module Purpose
"Communicate with your group in realtime to share ideas of what everyone should play together."
Problem: Improvising Without Communication
Current Improvisation Methods:
- Conductor changes progression/key by playing it, hoping others catch on
- Issues:
- Difficult for others to decipher exact change
- Ambiguous whether explicit change occurred or just variation
- Other tactics:
- Yelling words at each other (disruptive)
- Writing on whiteboard/paper (breaks flow, requires looking away from instrument)
- Playing new chords loudly with emphasis (still ambiguous)
- Common Issue: No guarantee decision will be understood unambiguously
Perform Module Solution
Three Goals:
1. Easy/Quick/Fluid Input for Conductor
- Capture new idea with minimal friction
- Context-aware based on instrument:
- MIDI Keyboard: Multiple simultaneous notes with exact accuracy
- Bass Guitar: Single note at a time, imprecise note start/stop detection
- Input processing tailored to each instrument's capabilities
- Example: Bass player plays "E" note, system interprets as "E minor chord" (intelligent inference)
2. Concise Yet Complete Communication
- Convey new idea clearly to all members
- Display: Chord name + optional bass note
- Example: "Am/E" (A minor chord with E in bass)
- Progression display: Show upcoming chords in sequence
- Visual countdown: Indicate when chord change happens (in sync with tempo)
3. Easy to Digest Display
- Quickly glance and return to playing
- Large text: Readable from across room
- High contrast: White text on dark background
- Minimal UI: Only current and next chord shown
- Mobile device: Each band member has phone/tablet showing display
Integration with Other Modules
Display Composition Data:
- Load pre-arranged song from Compose Module
- Display chord progressions like sheet music
- Auto-scroll through arrangement during performance
Export to Composition Module:
- Capture improvised jam session
- Save chord progression for later arrangement
- Use as starting point for new song in Compose Module
Attach Raw Files from Data Entry Module:
- Link composition elements to recorded audio
- Reference original jam session that inspired arrangement
Use Cases
Predetermined Arrangements:
- Display like sheet music/lead sheets for reference
- Band plays pre-composed song with chord chart on screen
- Replaces paper sheet music with digital display
Live Improvisation:
- Real-time communication of key changes
- Conductor plays new progression, instantly appears on all screens
- Progression changes, tempo shifts, key modulation
Band Rehearsal:
- Capture improvised sections for later review
- Export to Data Entry Module for recording/organization
- Build song library from jam sessions
Technical Implementation (Conceptual)
MIDI Input Processing:
- Detect chord from MIDI keyboard notes
- Chord detection algorithm (root note + quality)
- Display chord name in real-time
Audio Input Processing (Advanced):
- Pitch detection from bass guitar or vocals
- Less precise than MIDI, requires intelligent inference
- Display best-guess chord based on context
Network Sync:
- WebSocket connection for real-time updates
- Low latency (<50ms) for live performance
- Offline mode: Continue displaying without conductor updates
Chord Playback Feature:
- Program accepts and distributes MIDI data to/from digital keyboards
- Conductor commands instruments to harmonize with current chord
- Auto-play bass line or pad sounds to support performers
Visual Indicator:
- Chord progressions repeat every 4 chords typically
- Visual indicator of which chord is currently being played
- "Coming up next" preview of queued progression
- Looping progression with clear visual cycle
From: Music Performance Application - 2025-06-21 (388 words)
- Status: 🔮 VISION - Performance module supplemental doc
- Summary: Additional context on Perform Module with focus on chord playback.
Key Addition: Chord Playback
- Program accepts and distributes MIDI data to/from digital keyboards
- Leader can command instruments to harmonize with current chord
- Chord progressions repeat every four chords
- Visual indicator of currently playing chord
- "Coming up next" queuing mechanism
- Conductor can draft new progression while another is playing
🔮 Social Collaboration Features
From: SongDrive Future Features - 2025-10-13
- Status: 🔮 VISION - Long-term strategic direction
- Summary: Public collaboration features beyond current private workspace model.
Current Focus
Private collaboration - Invite-only workspaces
- Known collaborators only
- Explicit invites required
- Access control per workspace
Future Vision: Public Collaboration
MySpace-Style Profile Pages:
- User profile with published finished music
- Bio, profile picture, links to social media
- "Featured projects" showcase
- Public portfolio of work
"Public" Collaboration Requests:
- Open invites for collaborators on specific projects
- Example: "Looking for vocalist for this track - apply here"
- Application system with portfolio review
- Use Case: Producer needs specific skill (violin player), posts public request
Collaboration Marketplace:
- Browse public collaboration opportunities
- Filter by role needed (vocals, guitar, mixing, mastering)
- Filter by genre, compensation (paid vs credit-only), timeline
- Model: Kompoz-style open collaboration marketplace
Open Collaboration Workflow:
- User creates project, marks as "seeking collaborators"
- Specifies role needed: "Need female vocalist for pop track"
- Includes compensation details: "Paid $200" or "Credit only"
- Posts to public marketplace
- Other users browse marketplace, apply with portfolio/demo
- Original user reviews applications, invites selected collaborator
- Collaboration happens in private workspace
- Final project can be published to both users' public profiles
Safety & Quality Controls:
- User ratings and reviews (collaborator reputation)
- Verified user badges (prevent spam/fake accounts)
- Ownership agreements (who owns what rights)
- Payment escrow (protect paid collaborations)
🔮 Referral Program
From: SongDrive Future Features - 2025-10-13
- Status: 🔮 VISION - Growth strategy
- Summary: Viral growth through referral discounts.
Buddy System Deals:
- Invite friend, both users get discount
- Example: "Invite a friend, you both get 1 month free"
- Tracks referral source, applies credit automatically
Referral Discounts:
- Tiered rewards for multiple referrals
- Example:
- 1 referral: 1 month free
- 3 referrals: 3 months free
- 5 referrals: 6 months free + upgrade to higher tier
Context: Aligns with pricing strategy's "two-person plan" concept
- Plans designed for pairs (band members, producer+client)
- Referrals naturally align with collaboration use case
Benefit:
- Viral growth - users incentivized to invite collaborators
- Lower customer acquisition cost (CAC)
- Higher quality users (referred by existing users, not cold ads)
🔮 Auto-Delete DAW Workflow
From: SongDrive Future Features - 2025-10-13
- Status: 🔮 VISION - Advanced desktop app feature
- Summary: Offload local storage to cloud for users with many DAW projects.
Problem
- Users with many DAW projects run out of disk space
- Logic/Ableton projects can be 5-10GB each
- 10 projects = 50-100GB local storage consumed
- External hard drive management is cumbersome
Solution: Cloud Storage Offloading
Workflow:
User opts in to auto-delete for specific projects
- Project settings: "Enable cloud storage offload"
- Warning: "Local files will be deleted after upload, re-downloaded when needed"
After upload/sync, SongDrive deletes local DAW project files
- Desktop app uploads project to SongDrive cloud
- Upload completes and verifies integrity
- Desktop app deletes local copy
- Local disk space freed: 5GB project now 0GB local
When user wants to work on project again, SongDrive re-downloads files
- User opens SongDrive desktop app
- Clicks "Open in [DAW]" on project
- Desktop app checks: Local copy exists? No → Download from cloud
- Progress indicator: "Downloading project files (3 of 10 GB)..."
- Download completes, desktop app opens DAW with project
After work session, re-upload and re-delete cycle
- User saves and closes DAW project
- Desktop app detects changes, re-uploads to cloud
- Optional: Auto-delete after X days of inactivity (user configurable)
Benefits:
- Unlimited cloud storage (within plan limits) vs limited local disk
- Work on 50 projects with only 10GB local storage (only active projects stored locally)
- Automatic backup to cloud (safety)
Considerations:
- Requires fast internet for re-download (large projects)
- Option to "pin" projects locally (never auto-delete)
- Clear UI indicators for "cloud-only" vs "local" projects
Note: Document appears incomplete in source - workflow may still be in planning phase
🔮 Gamification Features
From: SongDrive Future Features - 2025-10-13
- Status: 🔮 VISION - Engagement strategy
- Reference: SongDrive Gamification doc - 2025-03-27
From: SongDrive Gamification - 2025-03-27
- Status: 🔮 VISION - Engagement mechanics
- Summary: Goal-oriented approach to encourage consistent music creation.
Goal-Oriented Approach:
- Weekly Goal: "Do something with music" once a week
- Includes: Commenting, uploading (actively or passively)
- Flexible definition: Low bar to maintain streak
Grace Period Push Notification:
- Trigger: Goal was missed (no activity this week)
- Notification: "Your weekly streak is at risk! Upload or comment to keep it going"
- Grace period: Extra 24 hours to redeem
- Second chance: Prevent discouragement from single missed week
Streaks (Snapchat-style):
- Visual streak counter: "🔥 12 week streak"
- Celebrate milestones: "🎉 25 week streak! You're on fire!"
- Public streak display (optional): Show on profile for motivation
Philosophy
- Goal: Make app fun and rewarding without feeling like tasks
- Fine line to balance: Avoid "I have to do this" feeling
- Open Question: Should there be explicit "goals" in app, or passive encouragement?
Examples of Subtle Gamification:
- Progress bars for project completion (e.g., "3 of 5 sections have lyrics")
- Badges for milestones (10 projects, 100 uploads, 1 year anniversary)
- Activity heatmap (GitHub-style contribution graph)
Examples to Avoid:
- Mandatory daily check-ins
- Punitive penalties for missing goals
- Excessive notifications ("You haven't uploaded in 3 days!")
PROPOSED MODULE: JamScribe Integration
From: SongDrive comprehensive document - 2025-10-29
- Status: 📋 PROPOSAL - Raspberry Pi hardware module
- Summary: Dedicated MIDI recording device for passive session capture.
Platform: JamScribe (Raspberry Pi)
Workflow:
Record new session (MIDI)
- Raspberry Pi connected to MIDI keyboard/instruments
- Hit record button on hardware device
- MIDI data captured during jam session
Save to SongDrive
- Session complete, hit stop button
- JamScribe uploads MIDI file to SongDrive over WiFi
- Auto-creates project or adds to existing project
Send push notification/email
- Notification sent to band members: "New jam session recorded"
- Link to listen/review in SongDrive
Post-Recording Actions:
- Listen with different MIDI instruments: Preview with piano, electric piano, strings, etc.
- Add title to session: "Jam Session - Nov 3 2025"
- Add description/comment: "We were experimenting with that new bridge idea"
- Add tags for filtering: "improvisation", "drop-D", "high-energy"
- Select people to share with: Triggers push/email to selected collaborators
Integration Benefits:
- Passive data entry: Recording happens automatically, no manual upload
- Low friction: Hardware button press, not app navigation
- Immediate collaboration: Session uploaded and shared in real-time
- Context preservation: Captured with metadata (date, participants, tags)