I built the platform that puts concerts in front of you on Spotify, YouTube, Shazam and Amazon Music.

I am a software engineer at Bandsintown. I own the partner data feeds: the system that sends fresh concert listings to the apps where people already listen. On the side I run Brightside, a small lab where I build the tools I wish I had.

Event recordBandsintown
artist
"Lumen Avenue"
venue
"The Greek Theatre"
city
"Los Angeles, CA"
starts_at
2026-11-14T20:00
tickets
3 sellers
Validation gateWaiting
Spotify
Queued
YouTube
Queued
Shazam
Queued
Amazon Music
Queued
One export every two hours. Each feed is checked before it leaves.

Partner data feeds

Where the data lands.

Four apps, four data contracts, one export. Pick an app to see where a concert listing shows up for the people who use it.

Spotify

Where it shows
On the artist page and in the concerts list.
How it gets there
Listeners see dates under the artists they play most, with a link straight to tickets.
Delivered every two hours

These screens use a made-up artist. They show where the feed data lands, not each app’s exact design.

Lessons

What the feeds taught me.

Most of these I learned the slow way. They apply to any pipeline that sends data to someone else.

A broken feed fails quietly

When a feed breaks, nothing crashes. The partner app just shows fewer shows, and no one files a bug. Monitoring is not a nice extra here. It is the only way you find out.

Watch before you block

Every validation gate shipped in observe mode first. It logged what it would have stopped for weeks. Only then did it start to block, and blocking means sending nothing rather than sending something wrong.

Duplicate on purpose

The partner modules share very little code. That looks wasteful until one partner changes its contract and you can change one module without risk to the other four.

One thing can have two names

A ticket seller can appear by its display name in one table and by its domain in another. Matching on both fixed rows that had never matched before.

Joins multiply

An OR join against keys that repeat multiplies rows without a warning. When the question is membership, ask a membership question.

df.filter(col("seller").isin(allowed))

Give the system its own home

I moved the feeds out of two monorepos into one service repo. Deploys, alerts and docs now belong to one thing, and a new engineer can find all of it.

Brightside

Software by subtraction.

Brightside is my independent lab. It builds its own tools, takes on a few fixed-scope builds for other teams, and offers advice where that is the better fit.

Every Brightside tool started as a job I kept doing by hand. Weld began as my own job search. Plop began because I wanted to know how easily an agent could be tricked into misusing its tools. Quill is an idea about personal software I have carried for years.

The rule is simple: if I have to learn the tool before it helps me, it is not done yet. Each product does one job, ships small, and loses features before it gains them.

  • One job eachA tool that does one thing well beats a suite you have to learn.
  • Ship the small versionPut it in front of a real person first. Grow it from what they do.
  • Nothing to learnIf it needs a manual, the design is not finished.
  • Subtract firstBefore adding a feature, remove the step that made it seem needed.

Interests

What I pay attention to.

The work changes. These stay the same.

Live music

The reason the day job matters to me. A good feed means someone finds the show.

Agents you can trust

Tool-using AI is only useful when you can prove what it will not do.

Voice

Talking is the oldest interface. Gael and Crackle are both experiments in it.

Data that tells the truth

Pipelines, contracts and the checks that keep them honest.

Writing

Notes from the work.

Longer thoughts on data feeds, small software and the tools I build.

All writing

Guestbook

Stopped by? Leave a note.

Notes, testimonials and photos from people who visited. I read each one before it shows up here.

No notes yet. Yours can be the first.

Leave a note

Contact

Say hello.

Questions about data feeds, a build you want help with, or a show you found through Spotify. Write to me here or by email.

hello@brightside.club