User Story
As a college-going user, I want to frequently find new songs based on what I've listened to in the past, so that I can expand my music taste without manually searching.
Design Considerations
- There should be clear navigation to find the playlist on the user profile
- A notification should remind users of the playlist update
- An intuitive button should allow for saving songs from the playlist
- User feedback for individual songs should be incorporated as micro-interactions
- Special toggles to specify factors the users want to be considered higher when getting recommended a song
- Lesser known artists and songs should be prioritized higher in the list in a visually appealing manner
Performance Considerations
- Backend must handle a simultaneous roll-out of playlists every week without crashing
- Maintain the database with updated statistics on user data and artist metrics on the app
- The song recommendation algorithm should be optimized based on user feedback, content-based data, and collaborative filtering in the least time complexity possible
- A cache should be utilized to reduce latency when processing user interactions
- Performance testing must be conducted to identify issues in scalability and loading times
Security Considerations
- Encrypt user data in the database to protect from unauthorized access
- Utilize an authentication system to ensure user access to the tailored playlist
- Implement measures to prevent hackers from generating the playlist more frequently than the designated time
- Find system vulnerabilities using regular pen-testing and other corner-case testing
Localization & Accessibility
- Train the algorithm with a diverse dataset to avoid bias, including factors such as culture, location, language, and artist popularity
- Incorporate functionalities according to the Web Content Accessibility Guidelines such as voice automation, read-aloud content, and keyboard shortcuts
Wireframes
Screens
Left to right: Playlist is prominent on the first page, save songs in line, toggle weights for recommendations
Acceptance Criteria
- Given I have an active subscription, when I open the Spotify application, then I should view the personalized playlist first at the start of every week.
- Given my Discover Weekly playlist, when I view my current playlist, then I should view at least 30 songs across all the languages I am listening to.
- Given my Discover Weekly playlist, when I listen to each song, then I should be able to distinctly view the save song button.
- Given my Discover Weekly playlist, when I view my current playlist, then I should be able to change which features have more weightage in recommendations for next week's playlist.
- Given I have an active subscription, when I listen to the personalized playlist, then I should have all my data securely encrypted.