scene
radar.CONCEPT COVER · NOT A PRODUCT SCREENSHOT
Swing Scene Radar
Dance events are scattered across accounts and websites. I built a pipeline that brings those details together without treating every model response as a fact.
126 communities and festivals · 26 countries
What I worked on
A vision LLM classifies unknown source accounts from profile screenshots. An OCR-to-LLM parsing cascade turns the source content into structured event records, with content-addressable artifact caching.
Single-call parsing was too non-deterministic for unattended ingestion. I used a 2-of-3 model consensus vote, plus a separate tiebreaker when all three disagree. A priority cascade reconciles conflicts across four source types per entity; schema validation, pre-commit hooks, and smoke tests guard the resulting records.
The documented project scope is 126 dance communities and festivals across 26 countries, refreshed automatically on a three-day smart schedule. Those figures are a CV snapshot, not a live counter. The implementation is AI-assisted.
Tools and methods Node.js · Puppeteer · LLM consensus · PostgreSQL / SQLite · Docker