NULL PERSONA // DISTRIBUTION INFRASTRUCTURE
1,410+ RADIO CONTACTS.
ONE RELEASE PIPELINE.
I treated an independent artist like a product ecosystem—building not only the music, identity, website, visuals, and content, but the infrastructure required to distribute it. RADIO COMMAND turns a release into a scored, segmented, personalized, and trackable radio campaign.
BUILT FROM DIRECTORY TO FUNCTIONING APPLICATION IN ROUGHLY THREE HOURS.The objective wasn't to automate sending email. It was to build a repeatable distribution system.
01 // THE PROBLEM
MUSIC DISTRIBUTION DOESN'T END AT DISTROKID.
Getting a song onto Spotify is easy. Getting someone to actually hear it is a different problem.
For years, I approached music promotion the conventional way: find stations, locate the right contact, understand what they program, write the pitch, send it, track the response, follow up, and repeat. Multiply that by thousands of stations and the constraint becomes obvious.
The problem wasn't access to contacts. The problem was operational scale. So I stopped treating radio outreach as a collection of emails and started treating it as a data and workflow problem.
THE PROBLEM WAS OPERATIONAL SCALE.02 // THE INPUT
4,095 CONTACTS ARE USELESS IF YOU CAN'T DECIDE WHO SHOULD RECEIVE WHAT.
RADIO COMMAND converts a public radio directory into a working targeting database. Each record can carry station, contact, genre, location, eligibility, match score, priority tier, contact status, and campaign history.
The database can be searched, filtered, scored, and segmented before a campaign ever sends.
- Station + contact
- Genre + location
- Eligibility + contact status
- Match score + priority
- Campaign history
03 // THE SCORING ENGINE
DON'T BLAST 4,000 PEOPLE. DECIDE WHO ACTUALLY FITS.
Every station is not equally relevant to every release. RADIO COMMAND assigns contacts a 0–100 match score and organizes targets into PRIME, A, B, C, or SKIP.
The system decides who belongs in the campaign before the campaign reaches the queue.
04 // CAMPAIGN CREATION
A RELEASE BECOMES A CAMPAIGN.
Tracks are reusable entities. Title, release, genre, mood, Spotify, Apple Music, YouTube, EPK, and description travel with the track, so the pitch infrastructure does not have to be rebuilt for every release.
- KILL CONTRACT — TERMS OF SUFFERING
- REWARD FUNCTION — SINGLE
- USE THIS SOUND — SINGLE
05 // PERSONALIZATION
ONE CAMPAIGN. THOUSANDS OF INDIVIDUAL MESSAGES.
Eight templates route outreach across Industrial / Metal, Electronic, Alternative, Experimental / Freeform, College Radio, General Broadcast, Personal DJ / Host, and Generic Inbox contexts.
Structured station data, track metadata, and the right template produce outreach personalized with station, contact, location, release, and listening links.
{{station_name}} {{contact_name}} {{city}} {{genre}} {{track}} {{spotify_url}}06 // THE TRANSMISSION LAYER
THE QUEUE HANDLES THE REPETITION.
Campaign outreach enters a controlled transmission workflow instead of firing as one mass send. Queue processing, daily limits, sender warm-up, status tracking, bounce handling, suppression, unsubscribe handling, and follow-up logic become reusable infrastructure for every future release.
06 // SYSTEM PIPELINE
FROM RELEASE TO MEASUREMENT.
- 01DATABASE↓
- 02SCORE↓
- 03SEGMENT↓
- 04PERSONALIZE↓
- 05QUEUE↓
- 06SEND↓
- 07CLASSIFY↓
- 08MEASURE
PRODUCT INTERFACE // FIELD VIEW
THE SOFTWARE PROVES THE SYSTEM.

LIVE SYSTEM // INTERACTIVE DEMO
OPERATE RADIO COMMAND.
Use the working product directly inside the studio piece. Campaign activity in this demonstration environment is separate from the production system.
07 // CAMPAIGN CONTROL
EVERY RELEASE GETS ITS OWN DISTRIBUTION OBJECT.
Campaigns maintain their own target population, progress, transmission controls, and performance state: targets, sent, replied, interested, bounced, and unsubscribed.
The first production campaign promotes KILL CONTRACT from TERMS OF SUFFERING.
08 // THE RESPONSE LOOP
SENDING THE EMAIL ISN'T THE END OF THE WORKFLOW.
Inbound responses return to a unified inbox and become structured outcomes instead of disappearing inside email. Positive opportunities move into a submissions workflow.
- INTERESTED
- SEND EPK
- SUBMISSION PORTAL
- ADDED TO ROTATION
- PASS
- WRONG CONTACT
- UNSUBSCRIBE
- SAVE SUBMISSION
09 // INTELLIGENCE
EVERY CAMPAIGN MAKES THE NEXT CAMPAIGN SMARTER.
The analytics layer asks which genres respond, which score buckets perform, which markets engage, which campaigns create responses, and which assumptions were wrong.
- Conversion funnel
- Replies over time
- Performance by genre
- Performance by score bucket
- Performance by region
- Campaign performance
10 // LIVE EXPERIMENT
RADIO COMMAND // LIVE
This isn't a mockup. These are aggregate operational values from the distribution infrastructure behind NULL PERSONA. Performance remains an active experiment, not a fixed success claim.
11 // ARCHITECTURE
UNDER THE INTERFACE.
React and Tailwind power the mission-control interface. Base44 provides application infrastructure. TypeScript serverless functions handle scoring, campaign generation, queue processing, and workflow logic. Gmail OAuth supports controlled sending, Gemini assists response classification, and scheduled workers operate the queue.
- React + Tailwind
- Base44
- TypeScript serverless functions
- Entity-based application store
- Google Gmail API / OAuth
- Gemini
- Scheduled workers + queue processing
12 // SYSTEM MAP
ONE OPERATING LOOP.
13 // MY ROLE
DESIGNED AND BUILT END TO END.
I architected and built RADIO COMMAND as part of the larger NULL PERSONA experiment: product architecture, data structure, contact ingestion, scoring, segmentation, tracks, campaigns, templates, personalization, queues, Gmail integration, replies, AI classification, submissions, suppression, analytics, and interface design.
THE SOURCE DIRECTORY WASN'T THE PRODUCT. THE SYSTEM THAT MAKES IT OPERATIONAL IS THE PRODUCT.14 // WHY I BUILT IT
I DIDN'T WANT TO BUILD AN AI SONG.
I wanted to see how far one person could take an idea when the creative work, software, automation, data, and distribution infrastructure were treated as parts of the same system.
NULL PERSONA became the identity, music, visual system, website, content engine, release infrastructure, radio database, outreach platform, and measurement layer. Music is one output. The larger project is the machine around it.
15 // THE BUSINESS LESSON
AUTOMATION ISN'T THE INTERESTING PART.
Sending thousands of emails automatically is not difficult. Building a system that decides who should receive something, what they should receive, when they should receive it, what happened afterward, and what the system should learn is a much more interesting problem.
DON'T AUTOMATE THE TASK. DESIGN THE SYSTEM AROUND THE OUTCOME.
