Skip to content

Instantly share code, notes, and snippets.

@ikennaokpala
Created February 17, 2026 03:55
Show Gist options
  • Select an option

  • Save ikennaokpala/a4638ab7039acf101757b6a960e450ac to your computer and use it in GitHub Desktop.

Select an option

Save ikennaokpala/a4638ab7039acf101757b6a960e450ac to your computer and use it in GitHub Desktop.
CognitiveCommons Website PRD — Prime Radiant Framework v1.0 (2026-02-16)

CognitiveCommons Website — Product Requirements Document

Document ID: CC-PRD-WEB-001
Version: 1.0
Date: 2026-02-16
Methodology: Prime Radiant Cognition Thinking Process Workflow Protocol
Status: Draft — Ready for Stakeholder Review


Prime Radiant Protocol: How This PRD Is Structured

The Prime Radiant framework is a multi-dimensional thinking process that prevents the most common PRD failure: requirements that are technically complete but spiritually empty — pages of what with no why, no who, and no how do we know it worked.

This PRD applies the protocol across seven cognitive layers:

Layer Question What It Produces
1. Intent WHY does this exist? Vision, mission alignment, strategic goals
2. Domain WHAT world does it live in? Bounded contexts, entities, ontology
3. Persona WHO uses it? User archetypes, jobs-to-be-done, journeys
4. Requirements WHAT must it do? Functional + non-functional, traced to intent
5. Experience HOW does it feel? Information architecture, flows, content
6. Technical HOW is it built? Architecture, constraints, integrations
7. Validation HOW do we know it works? Acceptance criteria, success metrics, gates

Every requirement in this document carries a trace ID connecting it to a strategic intent. If a requirement has no trace, it doesn't ship.


LAYER 1: INTENT

1.1 Mission Alignment

CognitiveCommons Mission:
"Democratize technology so that people — not only large institutions — benefit."

Platform Philosophy:
"Intelligence as a commons, not a commodity."

The Website's Role:
The website is not a marketing brochure. It is the public face of a commons — a gathering place that earns trust before asking for commitment, explains without overwhelming, and makes it easy for a rural nonprofit, a fishing family, or a main-street business to say: "This is for me."

The site must convert credibility into curiosity and curiosity into action — in that order.


1.2 Strategic Intent (The Five WHYs)

WHY-1: Aggregation

CognitiveCommons operates across multiple product verticals (Grants Studio, BoardCraft, NotifyCommons, TideWatch, AgriSmart, RetailEdge, Courses Platform, KeepersAI). Without a unified front door, each product exists in isolation, trust doesn't compound, and communities never discover the ecosystem.

Intent: Create a single, canonical home that positions all products as parts of one coherent platform.


WHY-2: Trust Before Transaction

The target communities — rural SMEs, nonprofits, Indigenous communities, fishers, farmers — have been burned by technology that overpromised and underdelivered. They don't respond to feature lists. They respond to evidence: case studies, plain language, clear pricing, and proof that someone who looks like them already uses this.

Intent: Establish trust before asking for sign-up. Publish real evidence, real stories, real people.


WHY-3: Phased Wayfinding

CognitiveCommons serves different communities at different phases (Phase 1: SMEs & social enterprises; Phase 2: nonprofits, community orgs; Phase 3: maritime, agriculture, Indigenous). A first-time visitor needs to self-identify quickly and land on content relevant to them.

Intent: Make the wayfinding effortless — visitors should know within 10 seconds whether this platform is for them.


WHY-4: Mission Transparency

"Public-interest technology" is a claim, not a fact. The website must expose the governance model, the funding approach, the privacy standards, and the methodology so that any organization can audit the mission before adopting the tools.

Intent: Show the work. Earn trust through radical transparency, not PR copy.


WHY-5: Activation Gateway

The website is not the endpoint — each product is. The website's job is to identify the right visitor, surface the right product, and hand them off to a frictionless onboarding experience.

Intent: Minimize time from first visit to first product trial. Conversion happens through clarity, not pressure.


1.3 Success Definition (Pre-Build Alignment)

Before a single line of code is written, all stakeholders must agree on what success looks like:

Outcome Metric Target (Year 1)
Brand awareness Unique visitors/month 5,000+
Audience self-identification Bounce rate on homepage <40%
Product discovery % visitors navigating to at least one product >45%
Conversion Visitor → free trial/signup >6%
Trust signal NPS from website experience survey >45
Accessibility WCAG 2.2 AA compliance 100%
Page performance Largest Contentful Paint (LCP) <2.5s
Bilingual reach EN/FR page availability 100%

LAYER 2: DOMAIN MODEL

2.1 Bounded Contexts

The CognitiveCommons website spans five bounded contexts, each with its own logic and data:

┌─────────────────────────────────────────────────────────┐
│                COGNITIVECOMMONS.CA                       │
├──────────────┬──────────────┬──────────────┬────────────┤
│  PLATFORM    │   PRODUCT    │  COMMUNITY   │  TRUST     │
│  CONTEXT     │  CATALOGUE   │  CONTEXT     │  CONTEXT   │
│              │              │              │            │
│  Who we are  │  What we     │  Who we      │  How we    │
│  Mission     │  build       │  serve       │  operate   │
│  Pillars     │  Products    │  Case        │  Governance│
│  Phasing     │  Pricing     │  studies     │  Privacy   │
│  Team        │  Roadmap     │  Partners    │  Standards │
└──────────────┴──────────────┴──────────────┴────────────┘
                              │
                              ▼
                    ACTIVATION CONTEXT
                    (Sign-up, Trial, Demo)

2.2 Core Domain Entities

Entity: Product

Product {
  id: string                // grants-studio, boardcraft, etc.
  name: string              // "Grants Studio"
  tagline: string           // One-line value proposition
  pillar: Access|Agency|Assurance
  phase: 1|2|3              // Deployment phase
  sector: string[]          // ["nonprofit", "sme"]
  description: string       // Full product description
  problemStatement: string  // Pain point solved
  features: Feature[]
  pricing: PricingModel
  targetPersonas: Persona[]
  caseStudies: CaseStudy[]
  status: live|beta|coming_soon
}

Entity: Persona

Persona {
  id: string                // "nonprofit-ed", "rural-sme-owner"
  name: string              // "Executive Director"
  sector: string
  phase: 1|2|3
  jobsToBeDone: string[]
  painPoints: string[]
  relevantProducts: Product[]
  journeyEntry: string      // Homepage entry point
}

Entity: CaseStudy

CaseStudy {
  id: string
  organization: string
  location: string          // "Bridgewater, NS"
  persona: Persona
  products: Product[]
  challenge: string
  solution: string
  outcome: Metric[]
  quote: Quote
  publishedAt: Date
}

Entity: Pillar

Pillar {
  id: Access|Agency|Assurance
  tagline: string
  description: string
  products: Product[]
  programs: Program[]
}

Entity: Phase

Phase {
  number: 1|2|3
  focus: string             // "SMEs & social enterprises"
  timeline: string          // "Years 0–2"
  targetSectors: string[]
  products: Product[]
  gate: string              // Acceptance criteria to move to next phase
}

2.3 Content Ontology

CognitiveCommons
├── Pillars (Access, Agency, Assurance)
│   ├── Products (grouped by pillar)
│   │   ├── Features
│   │   ├── Pricing Tiers
│   │   └── Case Studies
│   └── Programs (cohorts, bootcamps, stewards)
├── Phases (1, 2, 3)
│   └── Products + Programs per phase
├── Sectors (nonprofit, sme, maritime, agriculture, Indigenous)
│   └── Relevant products, case studies, personas
├── Trust Layer
│   ├── Governance structure
│   ├── Privacy policy + PIPEDA compliance
│   ├── WCAG 2.2 AA conformance statement
│   ├── CASL compliance notes
│   ├── Open methods library
│   └── Impact reports (quarterly)
└── Activation
    ├── Product sign-up flows
    ├── Demo request
    └── Partner inquiry

LAYER 3: PERSONAS & USER JOURNEYS

3.1 Primary Personas

Persona 1: Maya — The Stretched Nonprofit ED

Profile: Executive Director of a mid-sized nonprofit (15 staff, $1.2M budget) in Truro, NS.
Phase: 1/2
Relevant Products: Grants Studio, BoardCraft

Jobs to be Done:

  • Find more grant funding without hiring a grant writer
  • Keep the board engaged and compliant without spending 10+ hours per meeting
  • Prove ROI of digital tools to a skeptical board

Pain Points:

  • Spends 15 hours/week on grant research; most applications fail
  • Board members are disengaged, don't read pre-reads, miss meetings
  • Previous software (GrantWatch, BoardEffect) were expensive and US-focused

Website Journey:

  1. Lands on homepage from Community Sector Council NS email
  2. Sees "Nonprofits" sector entry point in hero
  3. Clicks → lands on Nonprofit sector page
  4. Scans: "Grants Studio — reduce grant research by 70%"
  5. Reads case study: "Rural NS food bank increases funding 3x"
  6. Clicks "Try Grants Studio Free"
  7. Signs up, skips BoardCraft (for now)

Success State: Signed up for Grants Studio free tier in <4 minutes from homepage landing.


Persona 2: Réal — The Rural SME Owner

Profile: Owner of a seasonal hardware/general store in Shédiac, NB. Bilingual, 6 employees, $800K revenue.
Phase: 1
Relevant Products: RetailEdge, Grants Studio (SME Edition)

Jobs to be Done:

  • Sell online without losing 3 weeks to setup
  • Find ACOA grants without paying a consultant
  • Manage seasonal inventory without spreadsheets

Pain Points:

  • Tried Shopify, overwhelmed by setup, abandoned it
  • Doesn't know what grants he qualifies for
  • All tech platforms feel like they're for Toronto startups, not Shédiac shops

Website Journey:

  1. Lands on homepage from NB Chamber of Commerce newsletter
  2. Clicks French language toggle immediately
  3. Sees "PMEs" (SMEs) entry point in French
  4. Navigates to RetailEdge product page
  5. Pricing: $29/month — compares favorably to Shopify ($70 USD)
  6. Reads "Setup in 3 hours, not 3 weeks"
  7. Requests demo (not ready to commit without speaking to someone)

Success State: Demo requested, French experience felt natural throughout.


Persona 3: Sharon — The Coastal Community Emergency Coordinator

Profile: Emergency Management Coordinator for Municipality of the County of Antigonish, NS. 12 years in public safety.
Phase: 2
Relevant Products: NotifyCommons

Jobs to be Done:

  • Replace aging call-tree system before next hurricane season
  • Ensure elderly residents with landlines are included in alert system
  • Demonstrate value to municipal council to get budget approved

Pain Points:

  • Current system (Everbridge) costs $45k/year — council wants to cut it
  • Alert Ready doesn't reach 23% of residents (no LTE coverage in rural areas)
  • Hurricane Fiona: 12% of residents never received evacuation order

Website Journey:

  1. Lands from Atlantic Emergency Management Network conference handout
  2. Searches "NotifyCommons" directly
  3. Lands on NotifyCommons product page
  4. Key stat jumps out: "94% resident reach vs 67% with commercial systems"
  5. Downloads NotifyCommons pilot case study (Hurricane Lee data)
  6. Submits RFP inquiry via "Municipal Partner" form
  7. Receives response within 1 business day

Success State: RFP inquiry submitted; confidence built through evidence (real metrics from real events).


Persona 4: Joseph — The Independent Fisher

Profile: Third-generation lobster fisher, Pictou Landing, NS. Mi'kmaq community member. Manages 2 vessels, 8 crew.
Phase: 3
Relevant Products: TideWatch

Jobs to be Done:

  • Replace paper logbooks for DFO compliance without fighting the technology
  • Get better catch predictions to compete with corporate fleets
  • Monitor weather without losing a fishing day to false alarms

Pain Points:

  • US fishing apps don't know Canadian DFO quota systems
  • Existing apps require perfect cell service (none offshore)
  • Tech designed for tech people, not people who fish in November Atlantic weather

Website Journey:

  1. Lands from Pictou County Fishermen's Association WhatsApp group link
  2. Homepage speaks his language: "Built for Canadian fishers, not Silicon Valley"
  3. Finds TideWatch in sectors: "Maritime"
  4. Reads: "Voice-enabled catch logging. Works offline. Gloves on."
  5. Sees Indigenous fisheries module highlighted — trusts it more
  6. Starts free trial (no credit card required)

Success State: Free trial started; key trust signals (offline capability, voice input, Indigenous module) visible within 60 seconds on product page.


Persona 5: Dr. Amara — The Academic Partner

Profile: Director of Research at a Nova Scotia university institute focused on rural community development.
Phase: All
Relevant Products: Partnership with platform, research collaboration

Jobs to be Done:

  • Access impact data for research on rural tech adoption
  • Partner on publications connecting CognitiveCommons outcomes to policy
  • Find co-funding opportunities (SSHRC, NSERC) for platform validation research

Website Journey:

  1. Lands from Forge GitHub README link
  2. Reads "About" page — mission resonates with her research
  3. Reviews open methods library: DPIAs, consent templates, data schemas
  4. Reads quarterly impact report
  5. Submits "Research Partnership" inquiry

Success State: Trust built through radical transparency; partnership inquiry submitted.


3.2 Visitor Entry Points

Source Persona Entry Page CTA
Community Sector Council NS Maya Homepage → Nonprofits Try Grants Studio Free
NB Chamber of Commerce Réal Homepage → PMEs (FR) Book a Demo
Emergency Management Conf Sharon NotifyCommons product page Download Case Study
Fishermen's Association Joseph TideWatch product page Start Free Trial
GitHub / Forge Dr. Amara About / Open Methods Partner Inquiry
Google Search Unknown Homepage Self-identification

LAYER 4: REQUIREMENTS

4.1 Functional Requirements

Each requirement carries:

  • ID: Unique identifier
  • Intent Trace: Which WHY this serves (WHY-1 through WHY-5)
  • Priority: P0 (launch blocker) / P1 (launch) / P2 (post-launch)
  • Acceptance Criteria: Testable definition of done

Module: Homepage (M-HOME)

M-HOME-01
Intent Trace: WHY-3 (Phased Wayfinding)
Priority: P0

The homepage MUST display a sector/persona self-identification mechanism above the fold that allows visitors to route themselves to relevant content within 2 clicks.

Acceptance Criteria:

  • Visitor can select from: SME, Nonprofit, Municipality, Fisher, Farmer
  • Selection navigates to a sector-specific landing experience
  • Selection visible without scrolling on all viewport sizes ≥320px
  • Selection state persists in session (returning visitor lands on last selected sector)

M-HOME-02
Intent Trace: WHY-1 (Aggregation), WHY-3 (Wayfinding)
Priority: P0

The homepage MUST communicate the three pillars (Access, Agency, Assurance) and their relationship to the product portfolio within the first screen.

Acceptance Criteria:

  • Three pillars visible in hero or immediately below fold
  • Each pillar links to its section with at least 2 product names visible
  • Pillar copy tested for reading level ≤ Grade 8 (Flesch-Kincaid)

M-HOME-03
Intent Trace: WHY-2 (Trust Before Transaction)
Priority: P0

The homepage MUST feature a social proof section with at minimum one real case study (organization name, location, measurable outcome, and direct quote).

Acceptance Criteria:

  • Minimum 1 case study at launch (3 within 60 days of launch)
  • Each case study: real org name (or explicit consent for anonymization), Nova Scotia/Atlantic Canada location, before/after metric, named quote
  • Case study CTA links to full case study page

M-HOME-04
Intent Trace: WHY-5 (Activation Gateway)
Priority: P0

The homepage MUST surface at least one clear, low-friction primary CTA visible above the fold and repeated at natural scroll breakpoints.

Acceptance Criteria:

  • Primary CTA: "Find Your Tool" or "Start for Free" (A/B test both)
  • CTA visible above fold on desktop (1280px+) and mobile (375px)
  • CTA repeated at: hero, post-pillar section, case study section, footer
  • No credit card required for free tier — CTA copy must reflect this

M-HOME-05
Intent Trace: WHY-4 (Mission Transparency)
Priority: P1

The homepage MUST contain a mission statement section that articulates the public-interest mandate in plain language, including an explicit mention of what CognitiveCommons will NOT do.

Acceptance Criteria:

  • Mission statement ≤80 words
  • "What we won't do" section present (no lock-in, no data harvesting, no replacing human judgment)
  • Links to full governance page and privacy policy

Module: Sector Pages (M-SECTOR)

M-SECTOR-01
Intent Trace: WHY-3 (Wayfinding)
Priority: P0

A sector-specific landing page MUST exist for each of the five primary audiences: SMEs, Nonprofits, Municipalities, Maritime/Fisheries, Agriculture.

Acceptance Criteria:

  • Each sector page: hero tailored to persona pain points, relevant products listed, relevant case studies, sector-specific FAQ, CTA to most relevant product
  • URL structure: /sectors/nonprofits, /sectors/smes, /sectors/municipal, /sectors/maritime, /sectors/agriculture
  • Bilingual: All sector pages available in EN and FR at launch

M-SECTOR-02
Intent Trace: WHY-2 (Trust), WHY-3 (Wayfinding)
Priority: P0

Each sector page MUST open with the visitor's pain point, not the product's features.

Acceptance Criteria:

  • First 50 words of each sector page describe a problem the visitor recognizes
  • No product names in the first paragraph of any sector page
  • Readability score ≤ Grade 9 (Flesch-Kincaid)

M-SECTOR-03
Intent Trace: WHY-3 (Wayfinding)
Priority: P1

Each sector page MUST include a "Where to Start" recommendation path for new visitors.

Acceptance Criteria:

  • Explicit "Start Here" flow (e.g., "Most nonprofits start with Grants Studio → then BoardCraft")
  • Step-by-step visual flow, max 3 steps
  • Each step has estimated time to first value (e.g., "First grant match in 10 minutes")

Module: Product Pages (M-PRODUCT)

M-PRODUCT-01
Intent Trace: WHY-1 (Aggregation), WHY-5 (Activation)
Priority: P0

A dedicated product page MUST exist for each of the 8 core products: Grants Studio, BoardCraft, NotifyCommons, TideWatch, AgriSmart, RetailEdge, Courses Platform, KeepersAI.

Acceptance Criteria:

  • URL structure: /products/grants-studio, /products/boardcraft, etc.
  • Products in Phase 1 fully detailed; Phase 2/3 products have "Coming Soon" status with email capture for updates
  • Each page: tagline, problem statement, 5 key features (expandable to all), pricing table, single case study, CTA

M-PRODUCT-02
Intent Trace: WHY-2 (Trust), WHY-5 (Activation)
Priority: P0

Each product page MUST include a pricing table that is transparent, complete, and free-tier-prominent.

Acceptance Criteria:

  • Free tier listed first (or most prominently) on pricing table
  • "No credit card required" displayed adjacent to free CTA
  • All features listed per tier; no "contact us to learn more" for feature availability on Starter/Professional tiers
  • Annual vs monthly pricing toggle (annual shows % savings)
  • Currency displayed in CAD

M-PRODUCT-03
Intent Trace: WHY-4 (Transparency)
Priority: P1

Each product page MUST include a "How it protects your data" section covering PIPEDA compliance, data residency, and encryption.

Acceptance Criteria:

  • 3-5 bullet plain-language summary: where data is stored, who can access it, how to export/delete
  • Links to full Privacy Policy
  • "Canadian data residency" badge visible on all product pages

M-PRODUCT-04
Intent Trace: WHY-1 (Aggregation)
Priority: P1

Each product page MUST show a "Works with" section listing integrations with other CognitiveCommons products and key third-party tools.

Acceptance Criteria:

  • "Works with CognitiveCommons" section: at minimum, link to one integrated CC product with description of workflow
  • "Works with" external tools: top 3-5 integrations with logos
  • Integration list matches documented integrations in product specs

M-PRODUCT-05
Intent Trace: WHY-5 (Activation)
Priority: P0

Each product page MUST include a demo video or interactive product tour ≤3 minutes long showing the core workflow.

Acceptance Criteria:

  • Video/tour accessible without form fill (no lead capture gate at this stage)
  • Closed captions in EN; FR captions by 30 days post-launch
  • Video hosted on platform (not YouTube) to prevent data leakage
  • Autoplay disabled; user initiates

Module: Platform Bundle Discovery (M-BUNDLE)

M-BUNDLE-01
Intent Trace: WHY-1 (Aggregation), WHY-5 (Activation)
Priority: P1

The website MUST surface product bundle combinations (e.g., Grants Studio + BoardCraft = "Nonprofit Suite") to drive higher ARPU and product adoption.

Acceptance Criteria:

  • Bundles page: /products/bundles
  • At launch: Nonprofit Suite (Grants Studio + BoardCraft), Municipal Suite (NotifyCommons)
  • Each bundle: combined pricing, features, "better together" workflow description
  • Bundle CTA links to combined signup flow

Module: Case Studies (M-CASE)

M-CASE-01
Intent Trace: WHY-2 (Trust Before Transaction)
Priority: P0

A case studies library MUST exist with a minimum of 3 published studies at launch.

Acceptance Criteria:

  • URL: /stories or /case-studies
  • Each case study: 500-800 words, real metrics, named quote, product used, location
  • Filterable by: sector, product, province, organization size
  • Each case study has a shareable URL and print-friendly version

M-CASE-02
Intent Trace: WHY-2 (Trust)
Priority: P1

Each case study MUST follow a standardized narrative structure that centers the human story, not the product.

Acceptance Criteria:

  • Structure: [1] Organization + their world → [2] Problem they faced → [3] What they tried that didn't work → [4] How they found/used CognitiveCommons → [5] What changed → [6] What they'd tell others
  • Product is mentioned first in section [4], not earlier
  • All quotes attributed to a named person with their title

Module: About & Governance (M-ABOUT)

M-ABOUT-01
Intent Trace: WHY-4 (Mission Transparency)
Priority: P0

An "About" section MUST exist communicating who built this, why, how it's governed, and how it's funded.

Acceptance Criteria:

  • Pages: /about (mission + team), /governance (board, partner council, privacy official), /funding (funding sources, sustainability model)
  • Board members listed by name with bios (no anonymous governance)
  • Funding section: transparent breakdown of revenue sources (subscriptions, grants, earned income)

M-ABOUT-02
Intent Trace: WHY-4 (Mission Transparency)
Priority: P1

An "Open Methods" library MUST be accessible and link to all public methodologies, templates, and playbooks.

Acceptance Criteria:

  • URL: /open-methods
  • At launch: DPIA template, consent copy template, CASL compliance checklist, accessibility audit process
  • Files downloadable without form fill
  • Versioned with last-updated date

M-ABOUT-03
Intent Trace: WHY-4 (Mission Transparency)
Priority: P1

A quarterly impact report MUST be published and linked from the homepage and About section.

Acceptance Criteria:

  • Impact report at /impact with archive of previous reports
  • Metrics: users by product, organizations served, time saved (aggregate), privacy requests completed, incidents
  • First report at launch covers pilot phase; quarterly thereafter

Module: Programs & Agency (M-AGENCY)

M-AGENCY-01
Intent Trace: WHY-3 (Wayfinding)
Priority: P1

A Programs section MUST exist describing all capacity-building programs (cohorts, bootcamps, stewards) with application/registration pathways.

Acceptance Criteria:

  • URL: /programs
  • Programs listed: SME Quick-Wins, AI Funding & Readiness Bootcamp, Community Tech Stewards, Teacher Support Network (upcoming)
  • Each program: who it's for, what's covered, time commitment, cost (if any), application form
  • Next cohort date displayed; waitlist if full

Module: Navigation & Information Architecture (M-NAV)

M-NAV-01
Intent Trace: WHY-3 (Wayfinding)
Priority: P0

The global navigation MUST support dual-entry wayfinding: by sector (WHO you are) and by product (WHAT you need).

Acceptance Criteria:

  • Primary nav: Platform (About, Mission, Pillars) | Products (by name) | Sectors (by audience) | Programs | Stories | Open Methods
  • Sector dropdown: SMEs, Nonprofits, Municipalities, Maritime, Agriculture
  • Product dropdown: All 8 products with pillar grouping and status badge (Live/Beta/Coming Soon)
  • Mobile: hamburger nav with same hierarchy, sector first

M-NAV-02
Intent Trace: WHY-3 (Wayfinding)
Priority: P0

The site MUST have a persistent language toggle (EN/FR) visible in global navigation.

Acceptance Criteria:

  • Language toggle visible in top-right navigation on all pages
  • Default language: detected from browser locale; fallback to EN
  • All P0 pages available in FR at launch
  • FR URL structure: /fr/secteurs/organismes-a-but-non-lucratif
  • Language preference stored in cookie/localStorage (persists across sessions)

Module: Search (M-SEARCH)

M-SEARCH-01
Intent Trace: WHY-3 (Wayfinding), WHY-5 (Activation)
Priority: P1

A site-wide search MUST be available enabling visitors to find products, case studies, programs, and open methods by keyword.

Acceptance Criteria:

  • Search accessible from global navigation (keyboard shortcut: /)
  • Results organized by type: Products, Stories, Programs, Methods, Pages
  • Search indexes: all product pages, case studies, program descriptions, open methods library
  • Bilingual search: results in the visitor's selected language
  • No-result state: suggests relevant sector page + "Contact us if you can't find what you need"

Module: Accessibility (M-A11Y)

M-A11Y-01
Intent Trace: WHY-4 (Assurance), Mission
Priority: P0

The website MUST meet WCAG 2.2 Level AA conformance across all pages at launch.

Acceptance Criteria:

  • Color contrast ratio ≥4.5:1 for normal text, ≥3:1 for large text
  • All interactive elements keyboard-navigable with visible focus indicators
  • All images have descriptive alt text; decorative images have empty alt attribute
  • All form fields have associated labels; error messages are descriptive
  • Videos have closed captions; transcripts available
  • No content flashes more than 3 times/second
  • Skip navigation link visible on focus at top of each page
  • ARIA landmarks: header, nav, main, footer on every page
  • Automated scan (Axe) passes with zero critical or serious violations
  • Manual keyboard test documented for all user journeys

Module: Performance (M-PERF)

M-PERF-01
Intent Trace: WHY-2 (Trust), Mission (rural communities)
Priority: P0

The website MUST load performantly on low-bandwidth connections, reflecting the reality of its rural and coastal users.

Acceptance Criteria:

  • LCP (Largest Contentful Paint) <2.5s on 4G connection
  • LCP <5s on 3G connection (simulated in DevTools)
  • Total page weight <500KB for homepage (excluding video)
  • Images served in next-gen formats (WebP, AVIF)
  • Critical CSS inlined; non-critical CSS deferred
  • JavaScript bundle <150KB gzipped for homepage
  • Core content renders without JavaScript (progressive enhancement)

Module: Forms & Activation (M-FORM)

M-FORM-01
Intent Trace: WHY-5 (Activation)
Priority: P0

The website MUST provide distinct conversion paths for each primary CTA type.

Acceptance Criteria:

  • Free Trial: Collects email only → redirects to product sign-up flow (no further form on website)
  • Demo Request: Collects name, email, organization, product of interest, message (≤5 fields)
  • Partner Inquiry: Collects name, email, organization, type (research/sector/funder), message
  • RFP/Municipal Inquiry: Collects name, email, org, province, population served, current system, urgency
  • All forms: CASL-compliant consent checkbox with explicit language, privacy policy link

M-FORM-02
Intent Trace: WHY-2 (Trust)
Priority: P0

All form submissions MUST trigger an immediate, human-written acknowledgment email.

Acceptance Criteria:

  • Acknowledgment within 60 seconds of submission
  • Email signed by a named person (not "The CognitiveCommons Team")
  • Demo/partner inquiries: response commitment within 1 business day stated in acknowledgment
  • No unsubscribe required for transactional acknowledgment emails

4.2 Non-Functional Requirements

NFR-1: Security

  • HTTPS enforced on all pages; HSTS header set
  • Content Security Policy (CSP) header prevents XSS
  • No third-party scripts without explicit privacy review (no Google Analytics; use Plausible or Fathom for privacy-respecting analytics)
  • Form submissions rate-limited (10/minute per IP) to prevent abuse
  • Dependency scanning (Snyk) on every build

NFR-2: Privacy

  • No cookies without explicit consent (cookie banner on first visit; categories: necessary, analytics)
  • No data shared with third-party advertising networks
  • Analytics: page views and referrers only; no personal identifiers tracked
  • Privacy policy available in EN and FR; plain-language summary at top

NFR-3: Availability

  • 99.9% uptime SLA (8.7 hours downtime/year maximum)
  • Graceful degradation: if CMS or external APIs fail, static HTML fallback serves core content
  • CDN-cached pages serve even if origin is down

NFR-4: SEO

  • Server-side rendered (SSR) or static site generation for all indexable pages
  • Structured data (JSON-LD): Organization, WebSite, Product, Article, FAQPage schemas
  • Open Graph + Twitter Card meta tags on all pages
  • Sitemap.xml submitted to Google Search Console and Bing Webmaster
  • Canonical URLs on all pages to prevent duplicate content indexing

NFR-5: Internationalisation

  • Content management system (CMS) supports side-by-side EN/FR content editing
  • Date formats: Canadian (day Month year for EN; jour mois année for FR)
  • Currency: CAD displayed throughout
  • No hardcoded strings in HTML; all copy in CMS or i18n files

LAYER 5: EXPERIENCE ARCHITECTURE

5.1 Information Architecture

cognitivecommons.ca/
├── (Homepage)
├── /platform
│   ├── /about                 About us, mission, team
│   ├── /pillars               Access, Agency, Assurance deep-dives
│   ├── /phases                Phase 1/2/3 explained
│   ├── /governance            Board, council, privacy official
│   ├── /funding               Revenue sources, sustainability
│   └── /impact                Quarterly impact reports
│
├── /products
│   ├── (Product index)        All products, filtered by pillar/phase/sector
│   ├── /bundles               Pre-packaged product combinations
│   ├── /grants-studio
│   ├── /boardcraft
│   ├── /notifycommons
│   ├── /tidewatch
│   ├── /agrismart
│   ├── /retailedge
│   ├── /courses-platform
│   └── /keepers-ai
│
├── /sectors
│   ├── /nonprofits
│   ├── /smes
│   ├── /municipal
│   ├── /maritime
│   └── /agriculture
│
├── /programs
│   ├── /sme-quick-wins
│   ├── /ai-bootcamp
│   ├── /tech-stewards
│   └── /teacher-network       (coming soon)
│
├── /stories                   Case studies library
│   └── /[case-study-slug]
│
├── /open-methods
│   ├── /dpia-template
│   ├── /consent-templates
│   ├── /casl-checklist
│   ├── /accessibility-audit
│   └── /replication-kit       SME playbooks
│
├── /blog                      Long-form insights, research
│   └── /[post-slug]
│
├── /legal
│   ├── /privacy-policy
│   ├── /terms-of-service
│   ├── /accessibility-statement
│   └── /cookie-policy
│
└── /fr/                       Full French mirror of above
    ├── /secteurs/...
    ├── /produits/...
    └── ...

5.2 Page Design Specifications

Homepage

Sections (top to bottom):

[1] Navigation Bar

  • Logo (left)
  • Nav links: Products | Sectors | Programs | Stories | Open Methods
  • Language toggle: EN | FR
  • CTA button: "Start for Free" (primary, filled)
  • Mobile: hamburger (same items, bottom sheet)

[2] Hero Section

  • Headline: "Technology for the people who run Canada's communities" (or A/B variant)
  • Sub-headline: "Simple, trustworthy tools for nonprofits, SMEs, municipalities, fishers, and farmers — built in Atlantic Canada."
  • Sector picker: [Nonprofit] [SME] [Municipality] [Maritime] [Agriculture] — pill buttons
  • Primary CTA: "Start for Free" | Secondary CTA: "See how it works" (anchors to demo section)
  • Background: Authentic photograph of Atlantic Canada community (not stock)
  • No autoplay animations

[3] Three Pillars

  • Three equal columns: Access | Agency | Assurance
  • Each: icon, 1-line tagline, 2-sentence description, link to pillar page + product count

[4] Product Showcase

  • Tabbed interface by Phase (Phase 1 | Phase 2 | Phase 3)
  • Default: Phase 1 active
  • Each phase: product cards (name, tagline, sector tag, status badge, CTA)
  • "Coming Soon" cards show email capture for waitlist

[5] Social Proof / Case Study

  • Full-width section, alternating layout
  • At launch: 1-3 case study previews
  • Format: location map pin | organization name | quote | metric | "Read full story" link

[6] Trust Strip

  • Logos/mentions: ACOA partner, Community Sector Council, privacy certifications, WCAG badge
  • "Published methods" link: → /open-methods
  • "Canadian data residency" badge

[7] "Who is this for?" Explainer

  • Five persona cards: each with illustration, job title, pain point summary, sector link
  • Not product-first — problem-first

[8] Programs Teaser

  • "We don't just build tools — we help you use them"
  • 2-3 program cards: SME Quick-Wins, AI Bootcamp, Tech Stewards
  • CTA: "Explore programs"

[9] Transparency / Mission Strip

  • Mission statement (≤80 words)
  • "What we won't do" bullet list (3-4 items)
  • Links: governance | open methods | impact report

[10] Footer

  • Column 1: Logo + mission tagline + EN/FR toggle
  • Column 2: Products (links)
  • Column 3: Sectors (links)
  • Column 4: Organization (About, Governance, Open Methods, Impact)
  • Column 5: Legal (Privacy, Terms, Accessibility, Cookie Policy)
  • Bottom bar: © CognitiveCommons [year] | Not-for-profit | Canadian data residency

Product Page Template

Structure (all products follow this template):

[1] Product Navigation (breadcrumb: Products > [Product Name])

[2] Product Hero
    - Product name + pillar badge (Access/Agency/Assurance)
    - Tagline (one line)
    - Problem statement (2-3 sentences; pain-first)
    - Primary CTA: "Try Free" | Secondary: "Book a Demo"
    - Product status badge: Live / Beta / Coming Soon

[3] Key Metrics Bar
    - 3-4 outcome metrics (e.g., "70% less grant research time")
    - Source: "Based on pilot partner data" (links to methodology)

[4] Product Demo (Video or Interactive Tour)
    - ≤3 min video; play on click only
    - Closed captions
    - Transcript link below video

[5] Problem → Solution Narrative
    - Two-column: "Before CognitiveCommons" | "After CognitiveCommons"
    - Concrete before/after scenarios from target persona's perspective

[6] Features Section
    - 5 headline features with icons (visible by default)
    - "See all [N] features" expandable (full feature list behind accordion)
    - Each feature: name, 1-sentence description, tier badge (Free/Starter/Professional/Enterprise)
    - AI-powered features: 🤖 badge

[7] Pricing Table
    - Toggle: Monthly | Annual (annual shows % savings)
    - Tier columns: Free | Starter | Professional | Enterprise
    - Free tier highlighted (or first column)
    - Feature comparison rows with checkmarks
    - CTA per tier: "Start Free" | "Start Starter" | "Start Professional" | "Contact Us"
    - Footer: "All prices in CAD. No credit card required for Free tier."

[8] Case Study
    - Single case study relevant to this product
    - Name, location, quote, metric
    - "Read full story" link to /stories/[slug]

[9] Works With
    - CognitiveCommons integrations: other products with workflow description
    - Third-party integrations: logos + names

[10] Data Protection
    - Canadian data residency ✓
    - PIPEDA compliant ✓
    - Encryption at rest and in transit ✓
    - Export / Delete your data: link to instructions
    - "How we protect your data" (accordion with details)

[11] FAQ
    - 5-8 most common questions for this product
    - FAQ schema markup for search visibility

[12] CTA Footer
    - Headline: "Ready to [product-specific outcome]?"
    - Subheadline: "Free forever. No credit card required."
    - "Start Free" button + "Book a Demo" link

5.3 Content Strategy

Tone of Voice

  • Direct: Short sentences. Active voice. No jargon.
  • Respectful: Speaks to the reader as a competent professional, not a tech novice
  • Evidence-based: Claims backed by data; data cites source
  • Warm without being cute: Not corporate, not trying to be funny, genuinely human
  • Bilingual parity: FR is not a translation — it's a co-equal voice. FR copy reviewed by a native speaker from the target community.

Reading Level Target

  • All body copy: Grade 8 or lower (Flesch-Kincaid)
  • Legal pages: Grade 10 or lower
  • Technical documentation: Grade 12 acceptable
  • Test all copy with Hemingway App before publication

Content Maintenance Cadence

Content Type Frequency Owner
Case studies Monthly (new story) Content + Partnerships
Impact report Quarterly Leadership
Blog posts Bi-weekly Content
Product pages On product release / major update Product
Open methods On methodology change Operations
Pricing On pricing change Product

LAYER 6: TECHNICAL ARCHITECTURE

6.1 Technology Stack

Framework: Next.js 14+ (App Router)

Rationale:

  • Server-side rendering (SSR) for SEO on all public pages
  • Static site generation (SSG) for stable content (about, open methods)
  • Incremental static regeneration (ISR) for case studies, product pages (update without full rebuild)
  • API routes for form handling
  • Excellent TypeScript support
  • React ecosystem for component reuse

CMS: Sanity.io

Rationale:

  • Structured content schemas matching domain entities (Product, Persona, CaseStudy)
  • Real-time collaboration for EN/FR content pairs
  • GROQ queries for complex content relationships (product ↔ case study ↔ sector)
  • CDN delivery for all assets
  • Webhook triggers for ISR revalidation
  • Self-hosted option if data residency concerns arise

Content Models in Sanity:

// Product schema
{
  name: 'product',
  fields: [
    { name: 'slug', type: 'slug' },
    { name: 'name', type: 'localeString' },  // EN + FR
    { name: 'tagline', type: 'localeString' },
    { name: 'pillar', type: 'string', options: { list: ['access', 'agency', 'assurance'] } },
    { name: 'phase', type: 'number' },
    { name: 'status', type: 'string', options: { list: ['live', 'beta', 'coming-soon'] } },
    { name: 'problemStatement', type: 'localeText' },
    { name: 'features', type: 'array', of: [{ type: 'feature' }] },
    { name: 'pricing', type: 'pricingModel' },
    { name: 'caseStudies', type: 'array', of: [{ type: 'reference', to: [{ type: 'caseStudy' }] }] },
    { name: 'demoVideoUrl', type: 'url' },
    { name: 'sectors', type: 'array', of: [{ type: 'string' }] }
  ]
}

Styling: Tailwind CSS

Rationale:

  • Utility-first ensures design consistency
  • Purges unused styles automatically (small CSS bundle)
  • Responsive utilities built-in (mobile-first)
  • Pair with a small component library (shadcn/ui or Radix UI for accessible primitives)

Forms: React Hook Form + Zod

  • Client-side validation with Zod schema
  • Server action for form submission (no third-party form service)
  • CASL consent tracking: checkbox state stored + timestamp in submission

Email: Resend (or AWS SES)

  • Transactional: form acknowledgments, waitlist confirmations
  • Marketing: Canadian data residency required; hosted in AWS Canada Central

Analytics: Plausible Analytics (self-hosted or EU-hosted)

Rationale:

  • Privacy-respecting (no cookies, no personal data)
  • GDPR/PIPEDA compliant by default
  • No cookie consent banner required for analytics
  • Data owned by CognitiveCommons

Search: Algolia (or Meilisearch self-hosted)

  • Index: products, case studies, open methods, blog posts
  • Bilingual indexing (separate indices for EN and FR)
  • Search-as-you-type with category facets

Video: Mux (or self-hosted via AWS MediaConvert)

  • Adaptive bitrate streaming (handles 3G connections)
  • Automatically generates captions (review for accuracy)
  • Player: Mux Player (accessible, keyboard-navigable)
  • No YouTube/Vimeo to prevent data leakage to third parties

Deployment: Vercel (or AWS CloudFront + S3 + Lambda@Edge)

  • CDN: 30+ edge locations (Canadian points of presence in Toronto, Montreal)
  • Automatic previews for each PR
  • Edge caching for static + ISR pages

6.2 Hosting & Data Architecture

cognitivecommons.ca
        │
        ▼
   Vercel Edge Network (CDN, SSL termination)
        │
   ┌────┴──────────────────────────┐
   │                               │
   ▼                               ▼
Next.js App              Sanity Studio
(SSR / ISR)              (CMS backend)
   │                               │
   ▼                               │
API Routes                         │
- Form handling        ◄───────────┘
- Waitlist signup        (Content via GROQ)
- Analytics events
   │
   ├── AWS SES / Resend (email)
   ├── Plausible Analytics
   └── Product sign-up redirect → Product platforms

Data Residency:

  • CMS (Sanity): Hosted in EU (acceptable for non-personal data); or self-hosted in AWS Canada Central for full residency
  • Analytics (Plausible): EU-hosted or self-hosted in AWS Canada Central
  • Form submissions: AWS Canada Central (SES + Lambda)
  • User emails captured: stored in AWS Canada Central before CRM sync

6.3 Performance Architecture

Core Web Vitals Targets

Metric Target Strategy
LCP <2.5s Image optimization, CDN, critical CSS inline
FID/INP <200ms Minimal JS on homepage, defer non-critical
CLS <0.1 Reserve space for images, no late-loading layout shifts
TTFB <800ms ISR cached pages, edge network

Image Strategy

  • All images: WebP with JPEG fallback
  • Next.js Image component: auto-resize, lazy load, responsive srcset
  • Hero images: preloaded, priority flag set
  • CMS images: Sanity asset CDN with auto-transforms

Script Strategy

  • No third-party scripts without privacy review
  • Analytics (Plausible): deferred, <3KB
  • No Google Tag Manager, no Facebook Pixel
  • All fonts: self-hosted (Inter, or approved system font stack)

6.4 Integrations

Integration Purpose Data Shared
Sanity CMS Content management Content only, no PII
Product Platforms Sign-up handoff Email (with consent)
Resend/AWS SES Transactional email Name, email, form content
Plausible Privacy-first analytics Page URL, referrer (no PII)
Algolia/Meilisearch Site search Content only
Mux Video hosting View events (anonymized)
GitHub Actions CI/CD Code only

Third-Party Script Policy:

  • Any new third-party script requires:
    1. Privacy impact assessment (documented in ADR)
    2. Canadian data residency confirmation or acceptable alternative
    3. Explicit inclusion in privacy policy
    4. Cookie policy update if cookies introduced

6.5 Development Workflow

Repository Structure

cognitivecommons-website/
├── app/                        # Next.js App Router
│   ├── (marketing)/            # Public website routes
│   │   ├── page.tsx            # Homepage
│   │   ├── products/
│   │   │   ├── page.tsx        # Product index
│   │   │   └── [slug]/
│   │   │       └── page.tsx    # Product detail
│   │   ├── sectors/
│   │   │   └── [sector]/
│   │   │       └── page.tsx
│   │   ├── stories/
│   │   └── ...
│   └── api/                    # Server actions / API routes
│       ├── forms/
│       │   ├── demo-request/
│       │   └── partner-inquiry/
│       └── revalidate/
├── components/
│   ├── ui/                     # Primitive UI components (accessible)
│   ├── marketing/              # Page-specific components
│   │   ├── Hero.tsx
│   │   ├── ProductCard.tsx
│   │   ├── PricingTable.tsx
│   │   └── CaseStudyCard.tsx
│   └── layout/
│       ├── Navigation.tsx
│       └── Footer.tsx
├── lib/
│   ├── sanity/                 # CMS queries (GROQ)
│   ├── i18n/                   # Internationalization
│   └── utils/
├── public/
│   ├── fonts/
│   └── images/
├── sanity/                     # Sanity schemas
│   └── schemas/
│       ├── product.ts
│       ├── caseStudy.ts
│       ├── sector.ts
│       └── ...
└── tests/
    ├── e2e/                    # Playwright E2E tests
    ├── accessibility/          # Axe automated tests
    └── performance/            # Lighthouse CI

Branch Strategy

  • main: production
  • staging: pre-production (auto-deploy preview)
  • feature/*: individual features
  • PR required for all changes to main
  • Lighthouse CI runs on all PRs (fail if LCP > 3s or accessibility score <90)

LAYER 7: VALIDATION

7.1 Acceptance Criteria by Feature

Homepage Acceptance Tests

ID Test Pass Criteria
HOME-T01 Sector self-identification Visitor can reach relevant sector page in ≤2 clicks from homepage
HOME-T02 Above-fold CTA visibility Primary CTA visible without scrolling on 375px, 768px, 1280px viewports
HOME-T03 Social proof Minimum 1 case study with organization name, metric, and quote visible
HOME-T04 Language toggle FR toggle switches all visible text; URL changes to /fr/
HOME-T05 Performance LCP <2.5s on throttled 4G (Chrome DevTools)
HOME-T06 Accessibility Axe scan: 0 critical/serious violations
HOME-T07 Keyboard navigation All interactive elements reachable via Tab key in logical order

Product Page Acceptance Tests

ID Test Pass Criteria
PROD-T01 Free tier prominence Free tier pricing visible without scrolling on desktop
PROD-T02 No credit card copy "No credit card required" text adjacent to free CTA
PROD-T03 Demo video Video plays on click; captions visible; transcript accessible
PROD-T04 Feature expandability "See all features" accordion expands/collapses; keyboard accessible
PROD-T05 Data protection section Privacy section present; Canadian data residency badge visible
PROD-T06 Works with section At least 1 CC product integration and 3 external integrations listed

Form Acceptance Tests

ID Test Pass Criteria
FORM-T01 Demo request Form submits successfully; acknowledgment email received within 60s
FORM-T02 CASL consent Consent checkbox present and required; policy link opens in new tab
FORM-T03 Error handling Invalid email: specific error message displayed adjacent to field
FORM-T04 Rate limiting 11th form submission in 60s returns 429; visible user-friendly error
FORM-T05 No PII logging Form submissions not logged to console or client-side analytics

Accessibility Acceptance Tests

ID Test Pass Criteria
A11Y-T01 WCAG 2.2 AA automated Axe: 0 critical, 0 serious violations on all P0 pages
A11Y-T02 Keyboard only All user journeys completable using keyboard only
A11Y-T03 Screen reader Content order and labels make sense with VoiceOver (macOS) and NVDA (Windows)
A11Y-T04 Color contrast All text passes 4.5:1 ratio (Colour Contrast Analyser)
A11Y-T05 Focus indicators Visible focus ring on all interactive elements in all themes
A11Y-T06 Captions All videos have accurate captions verified by a human reviewer

7.2 Launch Gates

Gate 1: MVP Launch (Public Beta)

Must be true before any public announcement:

✅ All P0 requirements implemented and tested
✅ Homepage accessible in EN and FR
✅ Phase 1 product pages live (Grants Studio, BoardCraft, NotifyCommons)
✅ Phase 2/3 products have "Coming Soon" pages with waitlist capture
✅ Minimum 3 case studies published
✅ About, Governance, Privacy Policy, Terms live
✅ WCAG 2.2 AA audit passed (automated + manual keyboard test)
✅ LCP <2.5s on homepage (verified in production environment)
✅ All forms tested end-to-end (submission → acknowledgment email received)
✅ Cookie consent banner functional (necessary only by default)
✅ FR toggle functional on all P0 pages
✅ Analytics (Plausible) capturing page views
✅ 404 page branded and helpful
✅ Security headers configured (HSTS, CSP, X-Frame-Options)
✅ Sitemap.xml submitted to Google Search Console


Gate 2: Full Launch (Public Announcement)

Must be true within 30 days of MVP:

✅ All P1 requirements implemented
✅ All 8 product pages live (Phase 2/3 as "Coming Soon" with full detail)
✅ All 5 sector pages live in EN and FR
✅ Programs section live with application/registration for Phase 1 programs
✅ Open Methods library with minimum 4 documents
✅ Search functional (all content indexed)
✅ Product demo videos live for Phase 1 products
✅ FR captions on all demo videos
✅ Impact report (pilot phase) published
✅ Blog with minimum 3 posts published
✅ Load test passed: 1,000 concurrent users without degradation
✅ Penetration test passed (no critical or high findings)


Gate 3: Sustained Operations

Ongoing quality gates (monthly review):

☐ LCP remains <2.5s (Lighthouse CI)
☐ Axe scan: 0 critical/serious violations
☐ All forms functional (automated smoke tests daily)
☐ New case study published
☐ All product pages have accurate pricing (verify against product platforms)
☐ FR content parity maintained (no EN pages without FR equivalent)
☐ Analytics: bounce rate <40% on homepage
☐ Conversion rate: visitor→trial ≥6%


7.3 Success Metrics (12-Month Targets)

Acquisition

Metric Month 3 Month 6 Month 12
Unique visitors/month 1,500 3,000 5,000+
Organic search traffic 30% of total 40% 50%
Referral sources 3 active 6 active 10+ active

Engagement

Metric Month 3 Month 6 Month 12
Bounce rate (homepage) <55% <48% <40%
Avg. pages per session 2.5 3.0 3.5+
Time on product pages >90s >120s >150s

Conversion

Metric Month 3 Month 6 Month 12
Visitor → trial/signup 3% 5% 6%+
Demo requests/month 5 15 30
Partner inquiries/month 2 5 10

Trust & Quality

Metric Month 3 Month 6 Month 12
WCAG 2.2 AA compliance 100% 100% 100%
LCP (homepage) <2.5s <2.5s <2.5s
Case studies published 3 6 12
Open methods documents 4 6 8+

7.4 Drift Detection

The Prime Radiant protocol includes explicit drift detection — mechanisms that alert the team when the website has drifted from its original intent.

Drift Signals (check monthly)

Signal Warning Threshold Action
Bounce rate increases >5% month-over-month Review content, navigation, page speed
Conversion drops >20% month-over-month A/B test CTAs, review form friction
Accessibility violations Any critical finding Halt new features; fix within 48 hours
FR content parity gap >10% EN pages without FR Prioritize translation sprint
Case study staleness No new story in 60 days Activate case study pipeline
Pricing mismatch Product page ≠ actual pricing Update within 24 hours
Page weight growth Homepage >600KB Performance audit
Intent drift Product-first language appearing before problem-first in sector pages Content review

APPENDICES

Appendix A: Component Library (UI Kit Requirements)

All components MUST:

  • Use Radix UI or similar accessible primitive for interactive elements (Dialog, DropdownMenu, Accordion, Tabs, etc.)
  • Accept className overrides for styling flexibility
  • Export TypeScript types for all props
  • Include a Storybook story documenting variants and accessibility notes

Required Components:

  • <Button> — primary, secondary, ghost, destructive, icon variants; loading state
  • <ProductCard> — name, tagline, sector tags, status badge, CTA
  • <PricingTable> — tiers, feature comparison, CTA per tier; responsive (horizontal on desktop, vertical cards on mobile)
  • <CaseStudyCard> — org name, location, metric, quote preview, read more link
  • <SectorPicker> — pill buttons with icon, selected state, keyboard navigable
  • <Navigation> — responsive, keyboard navigable, FR/EN toggle integrated
  • <DemoVideo> — accessible video player; captions; transcript link; no autoplay
  • <Accordion> — feature lists, FAQ; keyboard navigable; ARIA attributes
  • <Form> — field, label, error, consent checkbox; consistent error states
  • <Badge> — pillar (Access/Agency/Assurance), status (Live/Beta/Coming Soon), tier (Free/Starter/Pro/Enterprise)

Appendix B: Content Briefs — Phase 1 Launch Content

Required at Launch (Gate 1)

Homepage:

  • Hero headline + subheadline (EN + FR)
  • Three pillars: tagline + 2-sentence description (EN + FR)
  • Mission statement ≤80 words (EN + FR)
  • "What we won't do" list (EN + FR)
  • Product showcases for Phase 1 products: name, tagline, 1 stat (EN + FR)

Product Pages (Grants Studio, BoardCraft, NotifyCommons):

  • Problem statement (2-3 sentences)
  • 5 headline features (name + 1 sentence)
  • Pricing tables (all tiers, all features)
  • Demo video or interactive tour
  • 1 case study per product
  • Data protection section
  • FAQ (5-8 questions)

Case Studies (3 minimum):

  • 1 for Grants Studio: NS or NB nonprofit
  • 1 for BoardCraft: volunteer board or governance challenge
  • 1 for NotifyCommons: municipal emergency management

About/Governance:

  • Mission statement
  • Team bios (founding team)
  • Board member bios
  • Funding transparency statement
  • Privacy policy (PIPEDA compliant, plain-language summary)
  • Terms of service

Appendix C: ADRs (Architecture Decision Records)

ADR-001: Framework — Next.js over Gatsby/Remix

Status: Accepted
Context: Website needs SEO, performance, bilingual support, and CMS integration
Decision: Next.js 14 with App Router
Consequences: Team needs Next.js expertise; ISR for content freshness; excellent SSR for SEO

ADR-002: CMS — Sanity over Contentful/Strapi

Status: Accepted
Context: Need EN/FR content pairs, structured product data, relationship management
Decision: Sanity.io (cloud-hosted initially; migrate to self-hosted if data residency required)
Consequences: GROQ query language to learn; generous free tier for early stage

ADR-003: Analytics — Plausible over Google Analytics

Status: Accepted
Context: PIPEDA compliance, no cookie consent banner for analytics, mission alignment with privacy
Decision: Plausible Analytics (self-hosted in AWS Canada Central)
Consequences: Less granular than GA4; sufficient for traffic/conversion metrics; full data ownership

ADR-004: No Third-Party Advertising Scripts

Status: Accepted
Context: Mission states "no data harvesting"; advertising pixels violate this
Decision: Zero advertising/retargeting scripts on website
Consequences: Cannot run retargeting campaigns; organic/referral/email growth only; aligns with mission

ADR-005: Video Hosting — Mux over YouTube/Vimeo

Status: Accepted
Context: YouTube embeds send viewing data to Google; Vimeo collects analytics
Decision: Mux for product demo videos
Consequences: Monthly cost (~$50-100/month); full data control; accessibility (captions) built-in


Appendix D: Phased Launch Plan

Phase A: Foundation (Weeks 1-4)

Goal: Working website with homepage and Phase 1 product pages

  • Project setup: Next.js, Sanity, Vercel, repository
  • Design system: component library, color palette, typography
  • Sanity schemas: Product, CaseStudy, Sector, Persona
  • Homepage: hero, pillars, product showcase, social proof (placeholder)
  • Product pages: Grants Studio, BoardCraft, NotifyCommons
  • Navigation (desktop + mobile) with language toggle
  • Footer
  • Basic SEO: meta tags, OG tags, sitemap

Gate: Stakeholder demo on staging; all P0 homepage + product page requirements pass


Phase B: Content & Trust (Weeks 5-8)

Goal: Content live, trust layer complete, bilingual parity for Phase 1 pages

  • Case studies: 3 published (1 per Phase 1 product)
  • About + Governance pages
  • Privacy Policy + Terms (plain-language summary)
  • Accessibility: Axe audit + manual keyboard test + fix all critical/serious
  • FR translation: Homepage + Phase 1 product pages + sector pages
  • Sector pages: Nonprofits, SMEs, Municipal (Phase 1 priority)
  • Forms: Demo request, Partner inquiry, Waitlist
  • Cookie consent banner

Gate: Accessibility audit passes; 3 case studies live; all FR pages match EN; forms tested


Phase C: Full Launch (Weeks 9-12)

Goal: All pages live, programs available, search functional, announcement-ready

  • Product pages: All 8 (Phase 2/3 as Coming Soon with detail)
  • Sector pages: Maritime, Agriculture
  • Programs section: All programs with registration
  • Open Methods library: 4+ documents
  • Blog: 3+ posts
  • Search: Algolia/Meilisearch indexed and live
  • Demo videos: Phase 1 products (EN captions at launch; FR within 30 days)
  • Bundle pages
  • Performance audit: LCP <2.5s in production
  • Load test: 1,000 concurrent users
  • Impact report (pilot): published
  • Plausible analytics live
  • Google Search Console: sitemap submitted, search appearance verified

Gate: All Gate 1 + Gate 2 criteria met; stakeholder sign-off; public announcement ready


Appendix E: Open Questions (Requiring Decisions)

# Question Owner Due
1 What is the official domain? (cognitivecommons.ca confirmed?) Leadership Pre-Phase A
2 Is Sanity self-hosting required for data residency? Technical + Legal Week 2
3 Who are the 3 pilot case study organizations? Names + consent? Partnerships Week 4
4 Which board members consent to being named on /governance? Governance Week 4
5 Is the branding (logo, colors, typeface) finalized? Design Pre-Phase A
6 What is the French market positioning for SMEs (Réal persona)? Content Week 3
7 What is the go-to-market priority: nonprofit or SME first? Leadership Pre-Phase A
8 Does KeepersAI appear on website? Special protocols needed? Governance + Indigenous community Week 3
9 What is the source of initial traffic? (organic, referral, PR) Marketing Week 2
10 Are program registration flows built in website or separate platform (Eventbrite, etc.)? Product Week 3

Document Owner: Chief Scribe
Review Required From: Product Leadership, Technical Lead, Governance/Privacy Lead, French Language Lead
Next Review Date: 2026-03-02
Status: Draft v1.0 — Awaiting stakeholder review and open questions resolution


Built using the Prime Radiant Cognition Thinking Process Workflow Protocol — seven cognitive layers ensuring every requirement is traceable to strategic intent, every experience decision serves a real persona, and every validation gate reflects the evidence needed to claim success.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment