Nolan Welch

Carolina Radio

View on GitHub

Carolina Radio turns Spotify sessions into a shared radio experience with friends. The app allows everyone to add song requests to a communal pool, and tracks are selected dynamically based on request popularity, recency, and a touch of randomness — creating a synchronized, social playlist that makes it feel like you're all in the same room, wherever you are.

Inspiration

The radio has long been a way to discover music communally — especially student radio stations like WXYC. Carolina Radio expands on that tradition, democratizing the music suggestion process and reimagining social listening for the digital age.

What It Does

The app collects song submissions from users across campus and builds a dynamic, evolving queue. Songs are chosen based on a combination of how often they've been requested, how long they've been waiting, and how recently they've played — creating a shared listening rhythm that feels organic and alive.

Technical Overview

The frontend is built with React and hosted on Cloudflare Pages for low-latency, global distribution. The backend uses Python and FastAPI, with MongoDB Atlas for managing song metadata and user sessions. Spotify API integration is handled entirely through the backend, making it lightweight for end users.

Reflections

Carolina Radio is more than a playlist tool — it's an experiment in designing participatory systems where music discovery, connection, and rhythm emerge organically from community input. It's one of my favorite examples of systems design with a social soul.

← Back to projects