Skip to content
Pipeline

How The Centre Line works

The short version: programs are listed automatically and by hand; reviews require a verified email plus structured answers on seven anchored dimensions; both individual reviews and the aggregate stay hidden until the program hits 5 verified reviews, they release together; reviewers are anonymous by default and choose how much to share; operators can claim listings but cannot remove negative reviews; nothing is paid placement.

1. How a program gets listed

Three paths: (a) added directly by an admin from a tip or known list; (b) discovered by the monthly cron, which scans 13 governing-body sites (Hockey Canada branches + USA Hockey + league directories) for new programs and queues them as candidates; (c) submitted via the request a program form by a visitor.

Candidates from the cron land in an admin queue. An admin reviews each one, fills in city / province / age groups / governing body / website, and promotes it to a live program. Nothing auto-promotes.

2. How a reviewer signs in

We use Supabase magic-link auth (no passwords). The reviewer types their email, clicks the link in their inbox, and lands signed in. The email is verified at sign-in; unverified accounts cannot post.

Before submitting a review, the reviewer declares two things:

  • Standing: parent, player, coach, volunteer, or board member.
  • Status: currently in the program, or recently left.

Both are shown on the published review so other readers can weigh the perspective.

3. The questionnaire

Reviews are structured, not free-form. The reviewer answers a small set of factual questions first (year started, age group, role), then scores seven anchored dimensions, then writes two short paragraphs answering “what does this program do well?” and “what would you warn another family about?” Both sides are required. The submit button stays disabled until both are filled in.

For each dimension, the reviewer sees a written description of what a 1, a 3, and a 5 look like before they pick a number. See the full methodology.

4. Identity, by choice

The last step of the review flow is “Identity & sharing”. Three separate toggles control what publishes, all default off:

  • Show role: “Verified parent / coach / etc.” on the byline.
  • Show relationship: division, tier, season, current-or-former status.
  • Show full name: the name the reviewer types in, stored on their profile and reused on future reviews if they opt in again.

Defaults publish as “Verified reviewer”(no role, no tier, no name). Sharing more raises the review's credibility weight in the aggregate (capped, so it can't dominate). Nothing is required. The platform exists because families don't share when their identity isn't theirs to release.

5. The five-review release rule

Both the individual reviews and the program aggregate stay hidden until five verified reviews are in. A Postgres trigger recomputes on every write, but below threshold the function publishes NULL aggregates and the app suppresses the review feed. When the fifth verified review lands, the score, the dimensions, and every reviewer's take all release together, so no single voice is ever read in isolation.

6. Credibility-weighted aggregation

Once the threshold is met, the aggregate is a weighted mean, not an equal-weight mean. Each review carries a weight in [0.25, 3.0] blending transparency (which opt-ins you ticked), history (prior published reviews across the site), balance (both passages meet the 60-word floor), and community signal (helpful-votes from other readers). Reviewers who consistently share more, write balanced reviews, and stick around carry more weight. Full formula on the methodology page.

7. External quotes layer

Below the structured reviews, every program profile has a “what people are saying elsewhere” section. We surface a balanced pair (one positive, one critical where possible) pulled from Reddit, HFBoards, press coverage, and blogs. Every quote is verbatim with a live URL, captured on a specific date. These are not Centre Line reviews and don't affect the score; they're context.

8. Claims & right-of-reply

Operators can claim a listing by signing in and submitting a role + proof link. The system checks whether the proof URL's domain matches the program's website. An admin approves or rejects. Approved claims add a “Claimed listing” tag and unlock a single right-of-reply per published review (v1.1, rolling out shortly). Claims do not let operators delete reviews, change scores, or change facts.

9. Moderation

Every review has a Report button. Reports are required to include a brief reason. They land in an admin queue. Confirmed fakes are removed; the reviewer's account is flagged if it's a repeat offender. We do not remove reviews because the operator dislikes them.

More: methodology · glossary · FAQ · about