A data foundation for a platform with no API
Partly automatedUnlocking registration data so reporting and internal tools share one source of truth.
- The problem
- As Select grew, more reports and internal tools needed the same registration data. The club’s registration platform has no API or MCP connection, so player, roster, and subscription data came from manual exports, and each new report started from its own download.
- What I built
- A pipeline that moves scheduled exports into cloud storage and feeds an Airtable base, which serves as Select’s data layer. Records match on stable IDs, so each update lands on the right player and nothing is duplicated or lost.
- What it changes
- Reports, dashboards, and internal apps can build on one trusted source, instead of each one starting from another downloaded spreadsheet.
- Built to hold up
- Records match on stable IDs and are only ever updated or created, never deleted, so one bad export can’t wipe out good data. Every step runs on a schedule, so the data doesn’t depend on someone remembering to download it.
ToolsGoogle Cloud Run · Cloud Scheduler · Cloud Storage · Google Drive · Airtable · Zapier