Synapse
Where scattered business data becomes client intelligence.
A Postgres-backed client-intelligence system that syncs Airtable records, normalizes dirty identity fields, and surfaces a unified client view with full source lineage and a reviewer workflow.
- language
- TypeScript (Node 18+, ESM)
- storage
- PostgreSQL via node-postgres (not Supabase)
- schema
- 12+ tables, bronze / silver / gold transforms
- tests
- ~30 Vitest files; no runtime AI or LLM calls
- history
- 1 extraction commit (Apr 2026)
- repo
- Private
The problem
A PR firm had client context scattered across 32 Airtable tables plus QuickBooks, Copper, HubSpot, Basecamp, and booking tools, with dirty identity data and no ownership model for corrections. Synapse builds a Postgres read model that makes that data legible.
How it is built
-
Source lineage you can trace
Every sync stores the raw Airtable payload as JSONB with a content hash before any transform runs, so a trace command can walk from a final projected value back to the exact bytes that produced it.
-
Reviewer decisions that do not get overwritten
Low-confidence identity matches go to a review queue. Human decisions persist by evidence fingerprint across rebuilds, and stronger conflicting evidence reopens an item for review rather than silently overriding the person who decided it.
-
A dual-backend repository pattern
The repository factory returns an in-memory backend for memory:// URLs and Postgres otherwise, so the full test suite runs with no live database while production code uses the exact same interface.
By the numbers
self-reported marks figures stated in docs or commit history that the source brief could not reproduce from the repository alone. Everything else is traceable to code.
Where this honestly stands
Early-stage. The code is substantive (24 source files, 30 test files, a 12-table schema), but it was just extracted into its own repo as a single commit, with no independent CI or deploy yet. Presented as in-progress internal tooling.
Want the parts that are not in a public repo? I will walk you through the architecture and the decisions on a call.