2026

SoundScout

A social music platform for logging, rating, and discovering music through people whose taste you already trust. Completed as an individual course project for HCI 530: Mobile Design.

Role

Product Designer

Team

Solo

Timeline

February - March 2026

Tools

Figma

Claude Code

Problem

Music apps recommend generic suggestions through opaque algorithms, so discovery feels impersonal.

What I Designed

A friend-weighted discover feed that explains every recommendation, with settings that let listeners tune how it works.

Result

94 SUS score across four testers, and a working React Native prototype built from the Figma design system.

What I Did

I conducted user interviews and a competitive analysis, built a scalable design system with light/dark tokens and a component library, designed an interactive prototype in Figma, and prototyped a functional mobile app.

Problem

Current tools don't support meaningful music discovery

Many music fans like to keep track of their listening activity using spreadsheets, playlists, or other third party tools that don't go beyond surface-level analytics or generic recs. When looking for new music, existing apps just point users to strangers' ratings or opaque algorithmic suggestions that feel impersonal. No single product meaningfully combines streaming history, a structured rating system, and friend-weighted discovery.

Research

Friends and trusted communities drive discovery more than algorithms

Interviews with 4 music listeners revealed that people were already cataloguing music and discovering music from trusted friends, but struggled with generic streaming recommendations and lacked an organized logging method. Users wanted to track their listening activity, share their thoughts about music with friends, and discover new music through trusted friends instead of the hit-or-miss streaming service recommendations.

Constraints and Challenges

The "black box" of recommendation engines

One of the requirements for this project was that it had to be AI native, which I tied into the recommendation engine. This posed an interesting design challenge, where I had to design a machine learning based system for an app that is meant to combat the algorithmic recommendations of streaming services.

For many users, recommendation engines appear as black boxes. Some system uses their listening history, does something, and spits out a result without explaining why.

A pure social feed limits discovery

A pure social feed would surface what your friends have already logged. That shows music from trusted sources, but also limits discovery to your existing circle. The main challenge was using friends' taste as a signal without limiting recommendations to only what they've already heard in order to promote real discovery.

Solution

Designing a transparent recommendation engine

After researching how recommendation engines work, I architected a "taste engine" that uses content-based filtering (listening history + music characteristics), collaborative filtering (scores & ratings), and a social-contextual layer (friends' taste). I didn't build a model, but mapping the system showed me what the interface needed to explain.

Surfacing the logic behind every recommendation

This system informed the design of the Discover page, which is led by social context before anything else. I also designed the recommendation settings menu so the system is transparent and increases user freedom and control.

Social-first discover page

Every suggestion tells the user why it's there, whether it's because friends with similar taste rated it highly or if fans of your favorite artists liked it as well. Several users mentioned that public reviews and ratings influence their opinions before listening, so friendly opinions are displayed before reviews from the rest of the user base.

Recommendation settings

The three primary factors that influence how your recommendations are generated are adjustable. This makes the use of algorithms transparent and user-controlled instead of a black box, while also encouraging exploration of music outside of their current circle.

Making taste measurable

With the core discovery system defined, the remaining design decisions shaped how users interact with the rest of the app.

A 10-point rating scale with color coded badges

Most platforms for rating media follow a 5-star scale, where specificity is lost and users have to take extra steps to go from a 5 to a 4.5 by tapping on small interactive components. To provide granularity in ratings, I used a 10-point rating scale that better quantifies how users feel about music.

Based on this scale, I created color-coded score badges that appear on album pages and card components so users can quickly determine an album's score.

Most platforms for rating media follow a 5-star scale, where specificity is lost and users have to take extra steps to go from a 5 to a 4.5 by tapping on small interactive components. To provide granularity in ratings, I used a 10-point rating scale that better quantifies how users feel about music.

Based on this scale, I created color-coded score badges that appear on album pages and card components so users can quickly determine an album's score.

Profiles and Taste Compatibility

Profile and Taste Compatibility

User profiles are representations of their taste, displaying their favorite albums, genres, and recent activity.

Taste compatibility was based on the finding that people trust friends' recommendations specifically because they know their taste. This mechanism makes that trust visible and quantifiable based on overlapping music and listening activity.

Design System

Visual Foundations

I created a design system within Figma that was designed to maintain consistency across dark and light modes while accommodating a growing component library.

Light

Dark

Iteration

What changed after testing

4 users were tested on 3 primary flows: Navigating the Discover page to view a recommended album, rating and reviewing an album, and adding a friend to view taste compatibility.

94.16

System Usability Scale Score

4/4

Users said they would use this app frequently

5/5

Average ease of use and satisfaction score

Rating Modal

The initial button-based score input felt clunky to users, prompting me to add both a keypad and slider input for scores. The default review field size was increased to not imply a review length limit.

Score Badges

Users expressed that the gold score badge wasn't visually distinct enough to emphasize albums rated 9 and above. I added a gradient to make it stand out among the other scores, so it grabs just enough attention. Additionally, I included another score interval and badge for specificity and optimized them for contrast between light and dark modes.

Current State

Using AI Tools to build a Functional Prototype

I have continued to use Claude Code to see how far I can take the designs I created in Figma. Using React Native and my wireframes and design system as the blueprint, I created an interactive prototype that I plan to test further once all features are implemented.

What I Learned

Clarity of Job Beats Richness of Features

The hardest part wasn't deciding what to include, but ensuring that every feature had an unambiguous purpose. The difference between the Home, Discover, and Activity pages seemed unclear at first, until I could articulate that one is a personal catch-up, one curates suggestions, and one shows unfiltered data. With this understanding, I was able to move forward confidently and focus on the details.

Jack Thomson

Want to learn more? Reach out to me!

© Jack Thomson 2026 - Last updated September 2026

Jack Thomson

Want to learn more? Reach out to me!

© Jack Thomson 2026 - Last updated September 2026

Jack Thomson

Want to learn more? Reach out to me!

© Jack Thomson 2026 - Last updated September 2026

Jack Thomson

Want to learn more? Reach out to me!

© Jack Thomson 2026 - Last updated September 2026