Based in New York City.
Via NoVA, Los Angeles, Seoul, Vientiane, Boston, and Edinburgh.
Based in New York City.
Via NoVA, Los Angeles, Seoul, Vientiane, Boston, and Edinburgh.

Pacer

Use AI to find songs that you'd like to run to

Role
Feature Design
Full Stack
Product Ideation
Tools
Spotify API
Gemini
React
Mantine UI
Platform
Web App
Tags
AI
Spotify
Proof of Concept

The Market Gap

Many websites and Spotify playlists claim to provide the perfect running/rowing/cycling music experience by matching songs to specific tempo or beats per minute (BPM). While these solutions offer some convenience, they often fall short for serious or personalized use. Most playlists feature generic, outdated pop tracks—often from the 1990s—that fail to reflect individual music preferences. For users who value their personal music library and want an experience tailored to their taste, these generic solutions are far from ideal. The market currently lacks a solution that blends accurate BPM matching with personalized music selection, leaving a significant gap for innovation.

Problem with existing BPM data

In essence, the idea behind the software would be to track/ask the user for a BPM target range based on their running, and find music that they listen to from their Spotify or Apple music account. However, the main problem that arises is in the current BPM databases.

Reputable BPM databases like Tunebat charge exorbitant fees (around $250/month) for API access to BPM data. This pricing model is prohibitive for independent developers like myself.

The alternative approach

To overcome these barriers, I explored an unconventional solution: using LLMs like Gemini 2.0 Flash and 2.5 Flash-Lite to search BPM data for songs. By providing the model with track names and asking it to ground its answers on a Google search, I was able to achieve surprisingly accurate results—about 96% accuracy in testing. This experiment demonstrated that public, AI-driven approaches can rival expensive proprietary databases for certain use cases. It also validated the potential for AI tools to democratize access to music metadata, opening new possibilities for personalized music apps without relying on costly or restrictive APIs.

Two Approaches

Such algorithm or system can be implemented in a number of different ways. The most user-friendly implementation would be to directly implement into Spotify or Apple Music. However, given neither (or any of the major streaming platforms) are open-source softwares, I decided to design how a Spotify implementation of the feature using the algorithm would look like and build a quick vibe-code UI proof-of-concept prototype as a demonstration of the algorithm. For the sake of your attention span, I will go over the more visually pleasing Spotify implementation first.

1. Spotify Feature Design

User Flow

The Pacer Mode is designed as its own mini ecosystem, to provide a distraction-free listening experience. The goal is to provide a UI where the user can focus on their physical activity accompanied with the music that they like.

Main UI

The UI draws on the mental model of running tracking apps like Strava or UIs of treadmills:

Large bold meter/texts for legibility while physical activities.

Starting off with a pre-run count down screen, ending with a treadmill-like stop button.

Useful tracking meters like Time, MPH/KPH, and Miles

Although the Strides per Minute meter is one of the key features of this feature, the meter or the number figure itself does not provide utility to the user itself. Placing a medium-sized SPM meter (that also acts to indicate the next song) accompanied by the increase/decrease buttons, mirrors the UI of a treadmill where the user can click +/- buttons to increase the speed or inclination of the treadmill.

2. Visual Algorithm Demonstration

This is a stand-alone app that demonstrates the use of the algorithm. After the user logs in to their Spotify account, the algorithm scrapes recent playlists looking for music in the specified tempo range.

Step 1
Spotify login

Logging into a Spotify account accesses the user's playlists so that songs can be searched for songs that fit the BPM they want to run at.

Step 2
BPM or SPM preference

I also included some simple Lottie animations running cadences as most users probably won't be able to count the Strides-per-Minute they are running at

Step 3
Song sourcing preference
Step 4
Playlist duration

Learnings and Drawbacks

API restrictions from platforms like Spotify pose a major hurdle. Spotify impose limitations on API access, granting non-developer use only to apps with over 250,000 monthly active users. This makes it impossible for an independent developer like myself to ship a product that uses the Spotify API.

Potential Next Steps

Looking ahead, there are several promising directions for development. One is integrating cadence data from fitness devices like the Apple Watch, which tracks steps per minute (SPM), to dynamically match music tempo with running pace.