Everything connects through Supabase as the central data layer. Notion is the CMS. Vercel is the host. ConvertKit handles email automation.
Quick Sync
Manual Notion → Supabase sync trigger:
Sync Now →
Syncs Photo Gallery, Instagram, Content Hub, and YouTube to Supabase in one shot. Also runs automatically every 15 minutes via cron.
Master Data Flow
NOTION (Content Management)
├── Photo Gallery DB ───→ sync-notion-content ─→ Supabase (site_photos) ─→ ldw.build
├── Instagram DB ─────→ sync-notion-content ─→ Supabase (site_instagram) ─→ ldw.build
├── Content Hub DB ───→ sync-notion-content ─→ Supabase (site_content_hub) ─→ ldw.build
└── YouTube DB ──────→ sync-notion-content ─→ Supabase (site_youtube) ─→ ldw.build
SITE FORMS (User Input)
├── Hero Subscribe ────→ Supabase (newsletter_subscribers) ─→ ConvertKit
├── Newsletter Subscribe → Supabase (newsletter_subscribers) ─→ ConvertKit
├── Popup CTA ───────→ Supabase (newsletter_subscribers) ─→ ConvertKit
└── Consulting Form ───→ Supabase (consulting_inquiries) ─→ Notion CRM
Notion CMS Databases
| Database | Syncs To | Status |
| Photo Gallery | site_photos | ✓ Connected |
| Instagram | site_instagram | ⚠ Column mismatch |
| Content Hub | site_content_hub | ✓ Connected |
| YouTube | site_youtube | ✓ Connected (0 entries) |
Supabase Tables
Content Tables (populated by Notion sync)
| Table | Read Access | Write Access |
site_photos | Public | Authenticated |
site_instagram | Public | Authenticated |
site_content_hub | Public | Authenticated |
site_youtube | Public | Authenticated |
Form Capture Tables (populated by site visitors)
| Table | Insert | Read |
newsletter_subscribers | Public | Authenticated only |
consulting_inquiries | Public | Authenticated only |
Edge Functions
| Function | Purpose | Trigger | Secrets |
sync-notion-content | Reads Notion DBs, upserts to Supabase | Cron (15 min) + manual URL | NOTION_TOKEN |
sync-convertkit | Forwards subscribers to ConvertKit | DB trigger on new subscriber | CONVERTKIT_API_KEY, CONVERTKIT_FORM_ID |
Future Integrations (Not Yet Built)
- Instagram API (Meta) — Auto-pull IG feed. Requires Meta Developer App approval.
- Planning Center — Live attendance data for Vantage. Phase 2.
- Stripe — Live giving/revenue data for Vantage. Phase 2.
- Google Analytics / Vercel Analytics — Site traffic. Not yet added.
- Asana — Project/task data for Vantage. Phase 2.