Skip to main content

Modules Documentation

Validation rules

Required fields, formats, ranges.

Complete

Every opportunity passes 5 verification gates before entering the Radar. The verification IS what makes the directory trustworthy enough to drive Apply clicks. Editor verification is recorded and re-verified periodically.

Schema-level validation

  • All required fields present + correctly typed.
  • `slug` matches `^[a-z0-9-]+$` and is unique.
  • `typeSlug`, `region`, `format`, `cost` all use valid enum values.
  • `countryCode` is ISO-2 of a MENA country or matches `region`.
  • `applicationUrl` is a valid HTTPS URL.
  • `content.en` AND `content.ar` both populated. AR is authored, not auto-translated.
  • `deadlineAt` is in the future at publish time (or NULL for rolling).

The 5 editorial verification gates

  1. Organizer exists + is legitimate The organizer (accelerator / foundation / sandbox / etc) is verifiably a real organization in its declared country. No scam programs.
  2. Application URL is live Editor opens the applicationUrl and confirms it leads to a real application form with the organizer’s identity.
  3. Eligibility matches reality Sector / stage / country eligibility on the platform matches what the organizer’s page says. No exaggerated reach.
  4. Benefits are documented Cash, equity, mentorship, workspace, network claims are documented in the organizer’s materials. No invented amounts.
  5. Deadline is current deadlineAt matches what the organizer’s page says, not a stale date from a prior cycle.

Re-verification cadence

Editors re-verify each opportunity at least once between publishedAt and deadlineAt. `lastVerifiedAt` is bumped on each re-check. Opportunities un-verified for >30 days get flagged in the admin dashboard.