The site as built. Seventeen pages, their routes, what each one is for, and the sections that carry it. This document used to be the build plan; it is now the map. Where it and a built page disagree, the page wins and this document is the thing to fix.
Three groups, matching the design hub at /designs/.
Foundation is the site a visitor moves through. Authority is the depth they find when they
go looking. The brand book is internal, and stays out of the index.
Leadership Communication and Women in Leadership were
planned as standalone Growth pages. On the 2026-08-10 call they became sections inside the
service pages instead: communication runs on /executive-coaching as "It starts
before the words", and women in leadership as "Built for the roads that weren't built for
you". The Growth group no longer exists.
Two levels, defined once in lib/site-nav.ts
so the header, the footer and the service cross-links cannot drift apart. Services is the only
item with a dropdown; Company groups the four pages a visitor reads about Maryam rather than
about a service.
Home · News & Insights · Speaking · Credentials · Contact · Privacy
Speaking and Credentials appear here rather than in the header: both are reached by someone who already has a reason to look. Below the links sits the accreditation row, whose abbreviations also generate the one-line credential summary and the structured data, from a single list.
Twelve pages. The route a visitor actually walks: arrive, understand, choose a path, book. Every section name below is the one rendered on the page.
/discovery/discovery, a workshop for my team → form on this page. A speaking form survives below the fold./speaking still points at #speaking and would otherwise dead-end.a1–a4, so they sit on the booked event rather than in a form somewhere./insights/<slug>. There is no /blog/ route and never was — the label "Blog / Insights" is a planning-era name.index: false.Four pages that exist for the visitor who has already decided to look harder. None of them carry a funnel; each answers a question the Foundation pages raise.
lib/values.ts./contact#speakingInternal review tooling that lives inside the prototype rather than beside it, so what the team reviews is rendered with the real components and the real tokens.
maryam-workshop.jpg, maryam-speaking-stage.jpg, maryam-speaking-audience.jpg.The rules that make seventeen pages read as one site. Most of these exist because two pages once disagreed and the fix was to define the thing once.
| Convention | How it holds |
|---|---|
| One CTA label | Book a Discovery Session everywhere, pointing at /discovery. Two deliberate exceptions: EQ Coaching invites the assessment, and Workshops and Speaking send an inquiry rather than a booking. |
| One evidence bank | evidenceStats in lib/site.ts. Every stat strip reads from it: 5,000+ coaching hours · 7+ years in practice. Hours, never sessions. No leader count. |
| One credential list | credentials and pickCredentials(). About and EQ Coaching render from it; /credentials deliberately keeps fuller wording and says so in a comment. |
| One client roster | clientOrganizations, sourced from Maryam's own bio. The homepage and Client Results once carried two hand-kept lists that drifted. |
| One navigation source | lib/site-nav.ts. The footer credential line is derived from the accreditation row rather than written out, because the two drifted and the same footer advertised two different credential sets. |
| Section rhythm | Content sections are py-20. PageHero keeps its height and CtaBand keeps py-24 for presence. |
| The GPS band | Renders once, on Resources. It used to open five pages by restating the hero directly above it. |
| Casing | Only eyebrows and kicker labels are uppercase. Everything else is sentence or title case. |
| Spelling | US throughout. Verbatim client quotes are exempt and are never edited. |
| Routes | Articles at /insights/<slug>. Workshops at /corporate-workshops. Page titles use the middle dot: Title · GPS Coaching. |
PageHero · CtaBand · ServiceCards ·
InfoGrid · CredentialStack · StatStrip ·
TrustedBy · Quote · Callout ·
CoachingComparison · Faq · LeadMagnet ·
MockForm · Reveal. Optional props keep pages composable
without forking a component: intro on the credential stack,
heading on the comparison, showCommitment on the table.
This repository is a design prototype. The site ships as WordPress, with Calendly for booking and WPForms for forms. So "the forms do not submit" is not a bug to fix here. What has to exist before the build is a spec per form: fields, required flags, where the submission goes, and for the discovery form the hand-off to Calendly with the answers attached. Mailgun is a later want, for subscribers, not for these forms.
These are faults on the current live WordPress site at gpscoaching.ca, not on the prototype. They are brand credibility issues visible to every visitor today, and they should be closed before or alongside the new build rather than waiting for it.
The footer shows the Hurtle Industrial Services logo, a completely different company. Every visitor who scrolls to the bottom sees it. Fix in the Elementor footer widget.
A small signal that reads as neglect. Update to the current year. In Elementor this is usually a dynamic text setting, so it can be set once and stop recurring.
Multiple spam posts are indexed, diluting SEO authority. Delete from WordPress, submit a removal request through Search Console, and add noindex where needed. This protects the SEO foundation the new Insights section will build on.
The live CTA button repeats a "consultantation" typo across several pages. It disappears
with the rewrite, since every CTA becomes "Book a Discovery Session", but it is worth fixing
in place if the rebuild is not imminent. The live site also has no dedicated EQ Coaching
page, despite the EQ-i 2.0 and EQ 360 being Maryam's strongest differentiator. That gap is
the reason /eq-coaching was the first new page built.
Architecture questions still waiting on a decision or an asset. Listed here so they are not rediscovered page by page.