Localify is now ListenToLocal — a soon-to-be-launched, community-driven home for local music discovery.
Earlier this year, we wrote that Localify was dead. What we meant was that the idea behind it — using music recommendations to help people find local music shows — remains an important goal, but our app desperately needed a rebuild and a rebrand.
So we started over. Since January, we’ve merged 99 pull requests across a new API, a new web app, a new recommendation engine, and a new data scraping system. Here’s what that work actually consisted of, in six pieces.
Local Artists: Figuring out where a band is actually from
Recommending local music means knowing which artists are local, and no single service will tell you. We pull from Spotify, Last.fm, MusicBrainz, Wikipedia, Bandcamp, SoundCloud, Deezer, Setlist.fm, Pollstar and RateYourMusic, then reconcile the results.
- Every fact carries its source, so conflicting claims can be ranked rather than overwritten
- Admin tools to merge duplicate artists, venues, events and cities — the same band arrives spelled four ways
- Scrapers that notice when a source starts rate-limiting and back off on their own, instead of hammering it until it blocks us
Live Music: Event data, down to the start time
A recommendation is useless if the details are wrong. Much of our year went into getting event data right — and into the unglamorous edge cases that decide whether someone shows up at the correct hour.
- Events pulled from venue calendars, artist tour pages, and local newsletters, with a language model reading the messy ones
- Fans can photograph a gig poster, and we’ll read the lineup and date off it, then add it to our event recommendations
- Times rendered in the venue’s timezone, so a 9pm show reads as 9pm whoever is looking
- Full festival support — lineups, stages, per-set schedules
Recommendation: Tuned to stay local
Tell us a few genres and artists you like, and we rank the musicians near you against that. The model is trained on listening patterns, but it only ever recommends artists from the city you’re looking at.
- Match scores are catalog-wide percentiles, so 85% means the same thing in Ithaca as in Nashville
- Every recommendation shows its reasoning — the artists you already like that it’s drawing from
- Open a festival and see its lineup ranked for you, whether you know two of the acts or none of them
Community: A scene knows itself better than a scraper does
Automated data is a starting point, not the truth. Anyone signed in can correct us, and low-stakes fixes go live immediately rather than waiting on us.
- Add tags, similar artists, an artist’s hometown, a missing start time, a link to a band’s Bandcamp
- Higher-stakes edits queue for review, where duplicate suggestions group together — “eleven people told us this”
- Contributors build trust over time, and regulars stop being queued
- A “report an issue” link on every page, because sometimes the fix isn’t obvious but the error is
Social: Going out is something you do with people
Seeing that three friends are already going to a show is a better reason to buy a ticket than any algorithm. We built that carefully: you share nothing until you choose to.
- Private by default, with friend codes and QR links so you can connect without being searchable
- “Friends going” and “friends who like this artist” on events and artist pages
- Spotify playlists for any city, venue or festival — one top track per local artist, no login needed
- Local Music Wednesdays, a weekly email with a couple of shows worth your evening
Behind the scenes
Dashboard: The part nobody sees
Most of a project like this is infrastructure that only matters when it fails. It gets a section because it’s where a surprising share of the work went.
- An operations dashboard showing scraper health, source cooldowns and data-quality reports
- Managed database backups and scheduled refreshes of the expensive precomputed tables
- Containerized services with separate staging and production deploys, so changes get tested before you see them
Come help
ListenToLocal.org is a not-for-profit, academic project. There’s no growth target and nothing to sell you — the goal is that more people go to more small shows, and that the artists playing them find an audience.
The most useful thing you can do is tell us where we’re wrong. Every page takes corrections, and every correction makes the recommendations better for whoever looks next.
See you at a show.
Doug