Skip to main content

Music Streaming Player Interface Builder

Build a complete music streaming player UI with dynamic album art theming, waveform visualizer, and persistent mini player — with working framework code.

Fill in the placeholders

Edit the values, then copy your finished prompt.

Your Prompt
prompt.txt
Design a music streaming player interface for web-based music streaming service.

Features: streaming, playlists, offline download, lyrics, queue, social sharing
Content library: 80M+ tracks, podcasts, live radio

**Industry Design Rules (Music Streaming):**
- Pattern: Browse/search → Now playing (persistent bottom bar) → Library → Playlists → Social
- Style Priority: Album art as visual center, playback controls always accessible, dark mode dominant
- Color Mood: Dark background (art pops on dark), dynamic accent color extracted from album art, gradient overlays
- Typography: Clean sans-serif, bold for artist/track names, small for metadata, medium for navigation
- Key Effects: Smooth track transitions, album art color extraction for ambient background, waveform visualization, crossfade
- Anti-Patterns: DO NOT hide playback controls. NO tiny album art. NO complex navigation to find current queue. NO disrupting playback for any navigation action.

Generate:
1. **Home/Browse** — personalized recommendations, new releases, curated playlists, genre browsing
2. **Search** — songs, artists, albums, playlists, podcasts — with instant results
3. **Now Playing** — large album art, track info, progress bar (seekable), controls, lyrics toggle, queue
4. **Mini player** — persistent bottom bar with art thumbnail, track name, play/pause, next
5. **Library** — saved songs, albums, artists, playlists, downloaded (offline)
6. **Playlist** — cover (auto-generated from tracks), track list, collaborative editing, share
7. **Audio visualizer** — simple waveform or frequency bar animation synced to playback
8. **React + Tailwind + Web Audio API code** for the now-playing view with dynamic color extraction and controls

What this prompt does

This prompt generates a full music streaming interface by encoding the actual design conventions that make Spotify, Apple Music, and Tidal feel native — not generic card layouts. The template bakes in the persistent bottom mini player, dynamic accent color extraction from album art, and the browse-to-now-playing navigation flow that users expect without being taught. You specify the platform type (web app, mobile, desktop), features, and library size, and the output maps those inputs to components that respect the anti-patterns section — playback never gets buried behind navigation.

What makes it structurally sound: the template forces the AI to address all seven views in sequence, which prevents the common failure mode of getting a detailed now-playing screen but a sketched-out library. The framework code requirement in the final step grounds the output in something buildable, not just a wireframe description.

The color mood guidance — dark background, art-driven accent, gradient overlays — is prescriptive enough that the AI does not default to a generic light-theme card grid, which is the wrong starting point for audio-first interfaces.

When to use it

  • Prototyping a music or podcast streaming app and need a coherent UI system before you touch Figma.
  • Building a personal project or demo reel portfolio piece that needs to look production-grade, not tutorial-grade.
  • Presenting a design concept to a client or team and need a complete view inventory fast.
  • Adding a custom music player to a creator platform, gaming site, or audiobook app that needs its own branded skin.
  • Learning how streaming UI architecture is structured before implementing a real player with the Web Audio API.
  • Evaluating a framework (Vue, React, SwiftUI) for a music product by generating a real-world reference component.

Example output

For platform_type: web app, features: crossfade, lyrics, collaborative playlists, library_size: 80M tracks, framework: React:

// NowPlaying.jsx — dynamic accent color from album art
const NowPlaying = ({ track }) => {
  const accent = useColorExtractor(track.artUrl); // node-vibrant
  return (
    <div style={{ background: `linear-gradient(180deg, ${accent}22, #0a0a0a)` }}>
      <AlbumArt src={track.artUrl} size={320} />
      <TrackMeta title={track.name} artist={track.artist} />
      <SeekBar duration={track.duration} />
      <Controls onPrev={prev} onPlay={toggle} onNext={next} />
      <LyricsToggle lyricsUrl={track.lyricsUrl} />
    </div>
  );
};

The full output includes all seven screens as structured component trees, with the mini player as a separate sticky component.

Pro tips

  • Set platform_type to "React Native mobile" vs "web app" — it changes component choices significantly (bottom sheet vs sidebar, touch targets vs hover states).
  • If your library_size is small (under 1,000 tracks), say so. The AI will simplify search ranking logic and skip recommendation engine scaffolding that does not apply.
  • The [framework] slot is where precision matters most. Specify version: React 18, Vue 3 Composition API, SwiftUI iOS 17 — not just the framework name. You get idiomatic code, not ported patterns.
  • Add "offline-first with service workers" to features if you are building a PWA. The template's downloaded/offline library section then gets actual implementation guidance rather than a UI placeholder.
  • Pair the generated now-playing component with the Web Audio API AnalyserNode for the waveform visualizer — the template generates the visual layer, not the audio pipeline. Wire them separately.

Frequently Asked Questions

Does this prompt generate actual working code or just a UI description?
Both, layered by complexity. All seven screens — Home, Search, Now Playing, Mini Player, Library, Playlist, and Audio Visualizer — are output as structured component descriptions with props, layout hierarchy, and interaction notes. The now-playing view additionally gets full framework code with dynamic color extraction and playback controls. You get a buildable implementation for the most complex screen and a clear spec for the rest.
What should I put in the [features] variable to get the best output?
Be specific and bounded — list 3 to 6 real features you actually need. Good examples: crossfade, sleep timer, lyrics sync, collaborative playlists, offline download, gapless playback. Vague inputs like 'all standard features' produce generic output. The template already covers the core player controls, so use this slot for differentiated features only.
Can I use this for a podcast or audiobook player, not just music?
Yes, with a deliberate adjustment. Set platform_type to include the content type, e.g., 'podcast web app' or 'audiobook iOS app'. This changes how the AI interprets the library section (episodes vs tracks, chapters vs album cuts, download-to-listen vs streaming). The queue and now-playing logic still applies, but chapter navigation replaces playlist management.
Engr Mejba Ahmed

Need this built for real?

Engr Mejba Ahmed

AI Developer · Software Engineer

I'm Mejba — I design and ship production AI systems, automations, and full-stack apps. If you want this turned into a working solution for your team, let's talk.

More in Creative & Portfolio UI Prompts

Engr Mejba Ahmed

Engr Mejba Ahmed

AI assistant · trained on my work

👋

Hey there!

Quick Actions

WhatsApp Direct line to me

Chat on WhatsApp

+880 1723 741224 · Replies within the hour on working days

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

mejba.13@gmail.com

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support