Skip to main content

Modules Documentation

Data fields

Entities, fields, and types.

Complete

The `Founder` interface (defined in `core/models/founder.model.ts`) is the entity contract. The model carries identity, classification, narrative, journey, social, and visibility fields. Supporting models (`FounderTranslation`, `FounderLink`, `FounderProfile`, `BillingRecord`, `IntroductionRequest`) live alongside.

Identity + classification

id · string
Stable identifier (digit strings: "1" through "10" in seed data; UUID-shaped in production). Used everywhere in cross-module mentions.
slug · string
URL-stable kebab-case slug. Typically derived from name (e.g. `ahmed-hassan`, `nora-al-rashid`).
name · string + name_ar · string
Both required. EN canonical + AR variant. Used everywhere — header, card title, JSON-LD `name`.
role · string (i18n key)
i18n key like "Founder & CEO" / "Co-Founder & CTO". Rendered via the `tx` pipe.
photo · string (URL)
1:1 portrait. Falls back to initial-circle when missing.
industry · string
Founder’s sector. Drives cross-module sector matching to opportunities + startups.
stage · string
Current startup stage (Pre-Seed / Seed / Series A / Series B / Growth).
country · string
Country of operation. Drives geographic cross-module matching.

Profile flavor + visibility

profileStatus · "editorial" | "founder-led"
"editorial": authored by editorial team. "founder-led": owned by the founder via Founder Account.
featured? · boolean
Surfaces in the "Featured Founders" strip on the listing.
spotlight? · boolean
Promotes the card to `elevated=true` rendering. Reserved for editorial-curated spotlight contexts.
visibility flags · hidden* booleans
Per-field visibility (e.g. `hiddenSocialLinks`, `hiddenContactEmail`). Drives the public renderer to skip private fields.

Startup relationship

  • `startupRelationship · StartupRelationship` enum — Founder & CEO / Co-Founder / Founder & CTO / etc.
  • `startupName · string + startupName_ar?` — brand name of the linked startup. Resolves via Startup ID lookup when a Startup entry exists.
  • `linkedStartupId? · string` — FK to a Startup entry. T1 cross-module link.

Translation + extended profile models

The base `Founder` shape covers card-level data. `FounderProfile` (in the same model file) extends it with multi-paragraph about, highlights array, operating regions, social links array, intro availability flag, etc. Localized free-text fields use `FounderTranslation` shape: `{ en: string; ar?: string }`. The detail page hydrates a full FounderProfile from base Founder + the extended `core/data/founder-details.ts` data.