B2BEA.org V1 Data Model Spec
internal prototype · canonical JSON + Dreamborn Forge HTML
internal generated
design_doc · markdown

B2BEA.org V1 Data Model Spec

B2BEA.org V1 Data Model Spec Source of record: RedKey Supabase Studio artifact. Project: B2BEA.org Rebuild Project ID: a820dd0c 6cef 4133 bfbd d802fd806e44 Artifact: data model spec Artifact ID: 2f473004 9063 4fe9 8290 5cbd1b19dfb4 Version: 1 Status: draft Updated: 2026 05 06T20:34:52.749368+00:00 Live Supabase Check Checked against the active B2BEA Supabase...

Agent Handoff
Start Here

B2BEA.org V1 Data Model Spec Source of record: RedKey Supabase Studio artifact. Project: B2BEA.org Rebuild Project ID: a820dd0c 6cef 4133 bfbd d802fd806e44 Artifact: data model spec Artifact ID: 2f473004 9063 4fe9 8290 5cbd1b19dfb4 Version: 1 Status: draft Updated: 2026 05 06T20:34:52.749368+00:00 Live Supabase Check Checked against the active B2BEA Supabase...

Completion Evidence

No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.

B2BEA.org V1 Data Model Spec

Source of record: RedKey Supabase Studio artifact.

  • Project: B2BEA.org Rebuild
  • Project ID: a820dd0c-6cef-4133-bfbd-d802fd806e44
  • Artifact: data-model-spec
  • Artifact ID: 2f473004-9063-4fe9-8290-5cbd1b19dfb4
  • Version: 1
  • Status: draft
  • Updated: 2026-05-06T20:34:52.749368+00:00
Live Supabase Check

Checked against the active B2BEA Supabase project through the live PostgREST OpenAPI schema.

  • Supabase host: czqxkykbhoyyjccckpqq.supabase.co
  • Public tables observed: 60
  • RPC functions observed: is_platform_admin, search_content
  • Storage buckets observed through the current key: none returned
  • Migration files observed in repo: supabase/migrations/00001_initial_schema.sql through 00044_featured_cards.sql, plus 20260412140000_b2bew_events.sql

The live schema is real and populated. The largest observed tables are:

| Table | Rows | |---|---:| | people | 6,733 | | content_embeddings | 441 | | vendors | 187 | | vendor_category_assignments | 142 | | scrape_runs | 124 | | scrape_sources | 123 | | organizations | 60 | | subcategories | 54 | | events | 46 | | lessons | 40 | | b2bew_sponsors | 39 | | search_logs | 36 | | scraped_jobs | 35 | | jobs | 30 | | assessment_sessions | 19 |

Decisions

| ID | Topic | Decision | |---|---|---| | DM-DEC-001 | Profiles and operational data | B2BEA Supabase owns people, organizations, vendors, memberships, seats, academy, surveys/forms, jobs/events operations, analytics, notifications, and operational records. | | DM-DEC-002 | Editorial content | Sanity owns standard public/editorial page content and SEO/GEO/social editorial fields. | | DM-DEC-003 | CRM | HubSpot is primary CRM for leads, pipeline, sales activity, and renewals. B2BEA Supabase may store intake/submission references and profile relationships. | | DM-DEC-004 | Public company profiles | Vendor public profiles remain V1. Practitioner company public profiles are excluded from V1; company workspace is private only. | | DM-DEC-005 | Legacy persons table | The target model uses people. Any remaining persons references must be migrated or shimmed before production rebuild launch. |

Core Identity And Organizations

| Table | Rows | Notes | |---|---:|---| | people | 6,733 | Primary person/profile table. Includes auth, profile, careers, leadership, pro/member, and vendor-featured fields. | | organizations | 60 | Company/vendor/practitioner organization base. Also carries careers profile fields. | | organization_members | 0 | Intended organization-person membership table; currently unused. | | person_roles | 8 | Role grants such as vendor/admin/member/author-style access. | | platform_admins | 2 | Current light internal admin table. |

Vendors And Vendor Portal

| Table | Rows | Notes | |---|---:|---| | vendors | 187 | Public vendor profile source of truth. | | vendor_category_assignments | 142 | Vendor-to-subcategory mapping. | | subcategories | 54 | Current taxonomy table; vendor_categories was renamed. | | vendor_updates | 0 | Profile edits/claim updates for admin review. | | vendor_content_submissions | 0 | Vendor case-study/blog/content submissions. | | vendor_memberships | 0 | Vendor membership status/billing fields exist but are unused. | | vendor_features | 0 | Vendor feature bullets. | | vendor_media | 0 | Vendor screenshots/media. | | vendor_partnerships | 0 | Vendor partner relationships. | | vendor_event_participation | 0 | Vendor-to-event relation. | | vendor_academy_items | 0 | Vendor-linked academy content. |

Membership And Entitlements

| Table | Rows | Notes | |---|---:|---| | membership_tiers | 3 | Pro, Vendor, Registered seed model. | | memberships | 1 | Person/org-held memberships. | | membership_seats | 0 | Seat assignment base exists but is unused. | | processed_webhook_events | 0 | Stripe/webhook idempotency table. |

Academy And Learning

| Table | Rows | Notes | |---|---:|---| | courses | 9 | Course catalog and pricing/access fields. | | modules | 10 | Course modules. | | lessons | 40 | Lesson content. | | course_enrollments | 4 | Learner-course enrollment. | | lesson_progress | 7 | Lesson completion/progress. | | module_progress | 1 | Challenge/test/module progress state. | | module_test_attempts | 1 | AI/module test attempts. | | knowledge_profile_topics | 0 | Learner confidence/topic model. |

Careers And Scraping

| Table | Rows | Notes | |---|---:|---| | jobs | 30 | Published/manual career jobs. | | scrape_sources | 123 | Company career-page scrape sources. | | scrape_runs | 124 | Scrape run history. | | scraped_jobs | 35 | Scraped-job review queue/source data. | | job_source_snapshots | 0 | Raw scrape snapshot table. | | company_mappings | 0 | Scrape source to organization mapping. |

Events

There are two event models:

| Table | Rows | Notes | |---|---:|---| | events | 46 | General public event table. | | b2bew_events | 3 | B2B eCommerce World operational event table. | | b2bew_speakers | 31 | Event speakers. | | b2bew_sponsors | 39 | Event sponsors. | | b2bew_ticket_types | 0 | Ticket types. | | b2bew_registrations | 0 | Registrations. | | b2bew_purchases | 0 | Purchases. | | b2bew_sponsor_packages | 0 | Sponsor packages. | | b2bew_attendee_logos | 0 | Attendee logos. | | b2bew_applications | 0 | Event applications. |

V1 needs a boundary decision: keep events for marketing/public listings and b2bew_* for event operations, or consolidate.

Search, Analytics, And Content Support

| Table | Rows | Notes | |---|---:|---| | featured_cards | 1 | Search/featured card configuration. | | content_embeddings | 441 | Search/semantic content index. | | sponsored_slots | 1 | Sponsored search slots. | | search_suggestions | 21 | Search suggestions. | | search_logs | 36 | Search analytics. | | page_views | 6 | Vendor/content analytics. | | resource_downloads | 0 | Gated/free resource download tracking. | | podcast_episodes | 0 | Podcast episode metadata. | | episode_guests | 0 | Podcast guest mapping. |

Assessments And Plan Builder

| Table | Rows | Notes | |---|---:|---| | assessment_sessions | 19 | Current maturity assessment sessions and results. | | plan_builder_responses | 0 | Plan-builder response model. | | recommended_plans | 0 | Recommended event/sponsorship plan model. |

Profile Extensions And Taxonomy Support

| Table | Rows | Notes | |---|---:|---| | person_experiences | 0 | Public/profile experience history. | | person_goals | 0 | Public/profile goals. | | category_experts | 2 | Expert-person links for taxonomy hubs. | | category_faqs | 7 | Taxonomy FAQ content. |