In Progress
Media Master List
A media relations database that researches itself
Every PR operator ends up with the same problem: a contacts spreadsheet that's accurate the day it's built and wrong six months later, once journalists move outlets, outlets fold, and beats shift. Built this as a self-updating alternative rather than another static CSV.
Two CSVs (journalists, influencers and podcasts) are the single source of truth, validated against eleven invariants (required fields, email syntax, closed vocabularies) before anything touches disk. A React dashboard reads them read-only. Three scheduled agents, a verifier, a scout, and a hunter, do the actual upkeep: re-checking stale contacts, discovering new outlets, and chasing down missing emails, each one committing through a shared validated write path so a bad batch can never partially corrupt the dataset.
Deployed as a single Cloudflare Worker serving both the built SPA and a small API, backed by D1. The public read API redacts phone numbers and personal notes; the raw CSVs stay full detail internally.
Currently in build: dashboard and data layer are live, agents are running scheduled verification passes, UI is still being fleshed out past the initial shell.
← Web Design & DevelopmentLanguages
- Python 49.7%
- JavaScript 47.4%
- CSS 2.5%
- HTML 0.4%
Stack
- Vite
- React
- Tailwind
- Cloudflare Workers
- D1
- Python
- Claude agents
-
Previous
Tech Events Map
-
Next
Angie Wong