PlayMix

A web application that creates Spotify playlists

based on your favorite media.

(2025)

create a playlist based on…


the social network by

david fincher

Project Overview

PlayMix’s main goal was to create a functional web application that generates Spotify playlists based on the theme and mood of a film or novel. The key outcome was a responsive, user-friendly application that successfully connects media content to personalized music playlists.

Client: Digital Narrative and Interactive Design Capstone (University of Pittsburgh School of Computing and Information)

Timeline: 16 weeks (2025)
My Role: Project manager, fullstack engineer, UX designer

Technology Stack:

  • Frontend: React Web, Tailwind CSS

  • Backend: Python, Flask

  • Other: Figma

design thinking

full-stack engineering

end-to-end dev

ui/ux designing

project management

Information Architecture

PlayMix integrates external APIs (Spotify and OpenAI) alongside internal backend routes to support authentication, media understanding, recommendation generation, and playlist creation.

The system separates user interaction, AI-driven interpretation, and third-party media services. A backend layer orchestrates authentication, recommendation generation, and playlist creation, while the frontend focuses on interaction flow and presentation. This architecture allows the product to remain flexible, maintainable, and extensible as new features are added.

Takeaway: We learned to leverage different technical skillsets and comfort levels, and I stepped up to the challenge of full-stack engineering.

Design Process

Though Spotify has increasingly pushed their auto-generated playlists based on a user’s listening habits, the ability to generate playlists based on existing forms of media does not exist on most music streaming platforms. While platforms such as LetterBoxd overcome this discrepancy (even accidentally) by pushing unique user-generated “lists” of films, Spotify has not. There is no way to generate playlists based on other forms of media.

With this clear interest in creating playlists based on a specific “vibe,” as well as a collective passion for film, books, and apps like LetterBoxd and GoodReads, we created PlayMix to be an accessory to Spotify that users would want to come back to and share with friends. 

Our team found an opportunity with PlayMix to fill a gap for users who wanted more ways to immerse themselves in their favorite media in a customized way. We first had to identify a target audience and decided to focus on users of platforms such as Goodreads and Letterboxd.

Early Wireframes & Prototypes
Our Priorities
  1. Usability 

    Every choice, whether it was layout or components included on a page, was made so that users could intuitively make their way through the application.

  2. Accessibility

    Color palette passes WCAG requirements.

  3. Clean Style

    Designed a trendy aesthetic that characterizes our product as a fun companion to the apps they love.

We performed two rounds of user testing to get to know our audience and hone our own understanding of the design thinking process. Once we decided on a target audience, we outlined assumed user needs based on our intended goals of the project, as well as our current understanding of typical Spotify playlist generation.

We prioritized a simple and clean interface that was intuitive enough for first-time users to navigate through.

User Testing
Key Design Takeaways
  1. Clarity of Purpose and Interaction

🎤 User feedback:
Early users were unsure what kind of system PlayMix was—some interpreted it as a mood-based recommender, while others expected a direct soundtrack extraction from the source text. They asked for more explanation about the product and how it worked.

👩🏻‍💻 Design choice:
I reframed the interface to clearly position PlayMix as interpretive rather than authoritative, using concise framing copy at key moments in the flow. We added an About page and worked on how we pitched the project to users.

✨ Takeaway:
Design to align expectations.

  1. Using Copy as an Interaction Tool

🎤 User feedback:
Small shifts in wording significantly affected how users interpreted both the system’s confidence and their own expectations.

👩🏻‍💻 Design choice:
I treated copywriting as a core interaction design component, iterating on tone to remain playful without overstating system intelligence. We also tested different button labels and taglines!

✨ Takeaway:
Language shapes interaction.

Visual Redesign

The visual redesign prioritizes clarity and accessibility while intentionally introducing moments of play. Color, typography, and spacing were refined to improve legibility and reduce cognitive load.

At the same time, subtle motion, friendly copy, and light visual accents were used to make the interaction feel inviting rather than procedural. We wanted to take the opportunity to use playfulness as a way to sustain attention and encourage exploration without obscuring system behavior.

This redesign treats visual language as part of the interaction itself, reinforcing transparency and approachability while maintaining accessibility as a baseline rather than a tradeoff.

Takeaway: I love design! Javascript is fun!!

Reflection

This was my first time building a web application from the ground up, and I learned so much about the design and development process.

Found my footing as a PM

Got better at frontend and backend dev

Built brand kit!

Explore the Project

Check out a playlist auto-generated by PlayMix!

Create a free website with Framer, the website builder loved by startups, designers and agencies.