Skip to content
Mick Zijdel

CRM & Data Infrastructure for an AI Safety Organisation

Designed and built the central CRM architecture, alumni database, change-detection automations, and donor-import pipelines for an AI safety organisation

An AI safety organisation needed its scattered contact, alumni, and donor data turned into one reliable system. I designed and built it.

CRM architecture and documentation. I designed the central base — People and Organisations tables linked many-to-many through join tables, with a stable primary key — then did a field-by-field documentation pass across the entire base: table guides, consistent naming conventions for consent-sensitive fields, and flagging dead fields for deletion. The goal was a CRM whose structure a new team member can understand without me in the room.

Alumni database consolidation. I merged two parallel fellowship-alumni tables into one, while deliberately keeping team-assessed hiring data in a separate 1:1-linked table — self-reported and team-assessed data have different provenance and different sharing rules, and the schema should enforce that distinction.

Change detection without a changelog API. Airtable can’t tell you what changed on a record, only that it changed. For a self-service alumni profile form, I built a snapshot-and-diff automation: each record carries a JSON snapshot of its fields, diffed on every form submission, writing one changelog row per submission split into “needs processing” and “other changes”. The team reviews actual diffs instead of re-reading whole records.

Donor import pipeline. An email-triggered upsert script handling ~1,500 donation records from a major effective-giving platform: CSV parsing, donor matching by email then platform ID, ID backfill, and create-or-update keyed on donation reference. The key architectural fix was moving a downstream webhook call out of the import script — which was blowing through Airtable’s 50-fetch ceiling — into a separate record-created automation that Airtable throttles naturally.