I launched a new music discovery site last week. It was a lifetime in the making. Corey Spins version 2 includes the 1,109 vinyl records in my collection, spanning 22,614 musicians, 12,214 songs, and multiple genres and decades. This created over 5,000 pages on the site at launch. The site lets anyone start with an album, musician, decade, or genre and go on a music discovery journey from there while listening to the tracks.
I built it with Claude Code in under 24 hours. The 24-hour part is what everyone is reacting to, and while I agree that is cool, it doesn’t really tell the story of how it happened. The reality is that I scoped it over a three-week period, after 40 years of my own musical discovery to base it on.
How I discovered music before algorithms
I’ve been collecting records for over 40 years. As digital music took over, the algorithms never seemed like the kind of recommendation engine I thought was effective. I thought a lot about how I discovered music in the pre-web era, when I had a subscription to two music magazines I got each month. I had strange music tastes that were very counter to the era I lived in and the music that was popular in my high school.
Then I remembered how my vinyl collection grew, especially during high school. For my collection, I’d read the liner notes and make note of the musicians on the record. I spent hours at the record store, flipping through each record and reading the musician list. When I saw a musician I liked, I’d buy the record. That would expand the list of musicians I knew about. Sometimes, it didn’t work out. But more times than not, it did.
I was building an analog music map along the way. I wanted to make a digital version of that with this site.
I’ve thought about this a lot over the years, including a late-night session on my 4-by-6-foot whiteboard. I started with Miles Davis’s 1969 album Bitches Brew and mapped it out all the way to Madonna. I was stunned by the path.
At the time, no developer I talked to could figure out how to build it with what we had available back then.
Bassists.com was the first version of that idea, which I built earlier this year. However, the idea was limited to bassists and the bands and musicians they performed with. Guitarists, keyboardists, drummers, and other musicians are not part of the map.
The bigger idea was still not done. Corey Spins version 2 expands on that idea with a larger data set.
What made this happen now was our recent move back to the farm. I decided to move my vinyl to the family room instead of my office. No one in the family wanted to come into my office to listen to music. My stepson Isaac, a talented musician with remarkable musical taste, started listening to my records regularly. That was the goal. I wanted him to experience the music map I could now build by browsing his phone while he listened. To make it fun, I built a leaderboard into the site, so that each person who listened to a record could mark it. The leaderboard shows who in the house listened to the most records in a week, month, and all time. A “love” button lets each person in the family build their own favorites list, offering another way to explore beyond those albums.
I joined Discogs in 2006 to catalog my records there. Discogs’ excellent API let me to tap into my record collection and extract all the metadata necessary to build Corey Spins version 2. When I add a new record to my collection, as I have for 20 years, it immediately becomes part of the site, along with all the new metadata.
Scoping a music discovery site before writing any code
Scoping a site like this is fairly involved. There’s a lot of metadata available. Choosing the useful metadata and how the navigation works was one of the biggest parts.
For three weeks, I filled my whiteboard. I spoke using Wispr Flow to capture ideas. I sketched templates and looked at the available data from Discogs. I took it all to Claude Cowork to help me organize and sort out everything. That output helped me to create the scope document that I brought to Claude Code.
The easy ones were obvious. List the musicians on the record, link to their bio pages, and show the other records in my collection that they are on. Musicians who only appear on one record don’t yet have bio pages, because you’d end up on a page that shows you the record you were just looking at. Genres are another obvious and important consideration. If you like jazz or prog rock or bluegrass or whatever, you can navigate to that and explore the records in that collection.
That mapping informed the links on the page, the different pages I needed for the site, and the basic navigation. I also wanted an easy way to preview the albums, so I scoped in an integration with Apple’s iTunes Search API where you can sample the songs on the record with their 30-second clips. This is much faster than pulling a record off the shelf, putting it on the turntable, and listening only to decide it’s not your cup of tea.
Then there’s the reissue problem. An original album recorded in 1976 in my collection and the 2026 reissue look like the same album in Discogs. I don’t want two versions of the same album on the site. So I told Claude Code I needed editorial control: a way to hide specific albums from the site.
In web development, there are many other important considerations. One is page load speed. A site that relies on API calls can slow down for a visitor. I told Claude that I wanted to use stale-while-revalidate cache control. I learned that on Bassists.com a year ago, when I asked Claude Code whether a page could serve a stale copy while it refreshed, and it told me the technique had a name. In layman’s terms, that means if a visitor hits a page with an expired cache, the expired cache still gets served while the data refreshes on the backend for the next visitor. This means every visitor, regardless of the page they’re looking at, sees a cached version of that page, which loads very, very quickly.
Another important consideration in every web project I’ve been involved in is ADA compliance. I told Claude Code up front that I wanted the site to pass ADA across the board. I know telling it that in advance doesn’t guarantee we’ll get there. Once the site was done, I had it do a complete ADA audit, which took about 30 minutes. It found issues and then corrected them.
And with me logging in to the admin behind the site, as well as the people who are going to use it to mark the albums they’re listening to and the albums they love, we needed the site to be secure. I had Claude Code do a full security audit at the end, which, again, took roughly 30 minutes. It found minor issues, and we addressed them.
Working with Claude Code step by step, not all at once
I’ve scoped websites for three decades now. My approach has always been to take the scope to the team that’s going to build it, have them go through it with me, and discuss it. I learned long ago that great ideas come from that, and the ideas get better. Working with Claude Code can be like that, if you ask it to be.
I handed the scope to Claude Code and asked it to review it. As with all projects, I asked it to restate its understanding, ask me questions, and go through it until I felt confident that it understood the project. Once that happened, I asked it to propose the milestones in the right order. After we discussed the milestones, I asked it to work step by step so I’d have checkpoints to review after each one. I told Claude that we needed to build in course correction at each step and to expect that before moving on to the next one.
When we got to the album page, Claude Code suggested a play bar that sits at the bottom of the page, beyond the Apple Music widget I had scoped. It appears when you click play from the widget, or from a button at the top of the page to play the record. I’ve seen this on other sites, and I was bummed that I didn’t come up with the idea, but I was glad that Claude did. However, the way Claude implemented it, if you clicked play, the song would play, but when you clicked to another page on the site, the play bar disappeared. I pointed that out as a bad user experience, and Claude said it would have to rewire that completely to make it work.
This is one small example of how working alongside Claude Code, reviewing the work step by step, avoids major problems at the end. That rewiring at that stage was simpler than it would have been at the end. If I had just handed Claude Code the scope and said, “Do all the work,” I would have missed it. We would have gone back to that and countless other problems that came up at each stage, instead of waiting until the end to correct them.
One of the first people I sent the site to texted that the best part was listening to a record while exploring other bands and albums. For me, the play bar helped me revisit albums I hadn’t listened to in years. I “loved” them all to keep a list of the albums I want to listen to again.
Reusing the Bassists.com explorer in five minutes

Thinking back to that Miles Davis Bitches Brew record, expanding out all the way to Madonna, was an idea I had in 2005. When I remembered that idea shortly after Bassists.com launched, I worked with Claude Code to build that virtual music map inside Bassists.com, using the data that already existed. While that version’s nodes were bassists, bands, and musicians, the Corey Spins version is musicians and albums.
I pointed Claude Code to the Bassists.com GitHub repo and told it to look at the Explore code. I told it how the data was different, but the music map should be identical. The most astonishing thing about this project was that, with the blueprint for Corey Spins and the existing code on Bassists.com, Claude Code took five minutes to implement the visualizer into Corey Spins. Five minutes, because so many decisions had already gone into the Bassists.com version.
What the Expert Prompt worksheet looks like on a real project
Since launch, I’ve gotten a dozen or so texts and comments from people browsing the site, saying they’re spending a lot of time on it and enjoying the music discovery aspect. That’s extremely gratifying to me, but it also points to the fact that a lifetime of music discovery, of understanding taxonomies and the important relationships available through this data around my vinyl collection and music in general, is why this project was successful.
While I could have coded it, it would have taken me months. The more complicated things, if I were doing this before Claude Code existed, would have meant hours upon hours of Googling to figure out how to build something. The code underneath would have been sloppy and disjointed, but it would have worked. Working with developers for so many years and learning how to write a good scope also played a major role. My experience with code review also helped.
This project involved over 40 years of collecting vinyl, 12 years since I first got the recommendation to build a music website, 3 weeks of scoping, and 24 hours of working with Claude Code. The coding was the task and the quickest part of the project.
This one happened to be a music discovery site I long dreamed of building. The way I worked, scoping from what I already knew, handing the gaps to AI, and reviewing at every step, is the same way I work with teams on whatever they are building.

I describe the method for this in The Expert Prompt. We all have a list of projects we wish we could do, but we’re stuck for whatever reason. I have a worksheet for it. Column 1 is where you identify the project. Column 2 is where you identify the experience you and your team bring to that project. Column 3 is for the gaps and the unknowns. Column 3 is what you bring to AI.
For Corey Spins, here’s how that looked:
- Column 1: A digital version of the analog music map, built from the 1,109 records in my collection, an idea I had carried since the whiteboard session 21 years ago.
- Column 2: Forty years of collecting vinyl and reading liner notes, twenty years of cataloging in Discogs, thirty years of writing web development scope documents and reviewing code with developers, and the explorer I once built for Bassists.com.
- Column 3: Writing the code, the stale-while-revalidate caching, the ADA and security audits, wiring up the Discogs and Apple Music APIs, the things that would have been months of Googling and sloppy code if I had done them myself.
This is the model behind my book, The Expert Prompt, and my consulting work. If you or your team want to get real value out of AI, this is how we would work together. Book 30 minutes with me to see if it is a good fit.



