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...

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. |