# dictation.guide

Site grounding for agents without the dictation.guide repository: its seven charter files, unchanged except that headings sit two levels lower and every term id the pinned version defines, in the frontmatter blocks too, is followed by its label from the pinned version. The YAML blocks are therefore for reading, not parsing; the repo files are the source.

- Domain: dictation.guide
- Pins: editorial-charter@1.3.1, portfolio-icp@1.0.0
- Repo: f00f4639b0b8ef16c5654b762f62fa424b672521 (committed 2026-10-03T13:41:05-07:00)
- Built 2026-10-05T03:25:29+00:00
- Pages: https://taxonomy.tfw.bz/sites/dictation.guide/

## BRAND.md

Version 1.1.1 · status draft · sha256 f5b95fb6bc5c0b2a726c4601dbe65ac481db534c27d6d813756796363605e77d

```yaml
charter: 1
version: 1.1.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
archetype: charter:brand-archetype-sage (sage)
claims:
  - id: c1
    text: Every row of a comparison table carries a commercial-relationship tag (commission, sponsor, or none).
    basis: charter:claim-basis-documented (documented)
    source: strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md section 2
  - id: c2
    text: A vendor cannot pay to remove an accurate negative data point or to change a verdict.
    basis: charter:claim-basis-documented (documented)
    source: strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md section 2 (dispute rule)
  - id: c3
    text: Every price and limit on a page shows the date it was last verified, with a source link.
    basis: charter:claim-basis-documented (documented)
    source: strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md section 5
```

### BRAND, dictation.guide

#### Name and entity

dictation.guide is an independent guide to dictation software. Publisher: Flywheel (plain text in the footer; no link to sister sites). Entity home: https://dictation.guide/about (page 13 of the launch plan, not yet built). The domain is not yet registered and the site is noindex until launch.

#### Promise

Every tool page gives you the current price, the free-tier limit and a dated source, and no vendor can pay to change what we say about it.

#### Personality

The sage. We know the data, we show where it came from, and we say plainly when a figure is old or missing. We do not sell and we do not hype. Where a claim is a vendor's, we label it as the vendor's.

#### Visual pointers

- Direction: [`design/DIRECTION.md`](design/DIRECTION.md) (quote-field, round 2, picked by Tom 2026-10-01: drenched vermilion field, Unbounded + Manrope, the quotation mark as logo; tables and tools on paper panels)
- Archived: [`design/archive/locked-hybrid-2026-10-01/`](design/archive/locked-hybrid-2026-10-01/) (the earlier swiss-ledger + forest-editorial lock)
- Tokens: [`design/tokens.json`](design/tokens.json) (DTCG, 2025.10 Color module)
- Design notes: [`design/DESIGN.md`](design/DESIGN.md)
- Measured contrast: [`design/CONTRAST.md`](design/CONTRAST.md)
- System catalog: `~/opt/websites-lib/DESIGN_SYSTEM.md`

#### Do / Don't

Do
- Put the answer, with its verified date, above the fold.
- Tag every comparison row with its commercial relationship.
- Write "unknown" or "not tested" when we do not know.
- Log factual corrections in the public corrections list, with the vendor named.
- Link the source next to every price.

Don't
- Let a sponsor or affiliate change a score, a position or a data field.
- Monetise one vendor twice on the same page.
- Quote a vendor claim as fact without the label.
- Write commission copy for a program we have not confirmed.
- Claim hands-on testing we did not do.

## VOICE.md

Version 1.1.1 · status draft · sha256 f51ea05a92d69bfcda3d2bf8e3e6830b24fcec20370452e843e60c2d0c7f628b

```yaml
charter: 1
version: 1.1.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
register: charter:voice-register-consumer (consumer)
person: charter:voice-person-first-plural (first person plural)
languages: [en-US]
addresses: [switcher, built-in-user, heavy-writer]
essence: A careful shopper who checked the pricing page today and will tell you what it said.
```

### VOICE: dictation.guide

> Loaded by /humanizer (Step 0) and the content publishing gate (drafting Step 1
> + humanizer Step 3). If absent, both fall back to generic mode.

#### 1. Identity & Register
- Voice owner / who speaks: the site, first-plural (we). A named author byline per page once Tom confirms who signs (see section 6).
- Register: product (a buyer's guide)
- Language/locale: en (US spelling)
- One-line essence: "A careful shopper who checked the pricing page today and will tell you what it said."

#### 2. Audience
- Primary audience: mixed (switchers deciding what to pay for, built-in users who want it to work)
- Reader's job-to-be-done: pick a dictation tool or get the built-in one working, in about ten minutes.
- Assume they know what dictation is and have heard of Wispr Flow or Dragon. Always explain: local versus cloud processing, free-tier caps, why a Bluetooth headset can clip words.

#### 3. Tone Axes
- Formal   ──────●─  Casual   (plain, a little casual)
- Authority ──●─────  Peer
- Serious  ───●────  Playful
- Concise  ●──────  Expansive
- Default editorial_track: factual

#### 4. Person, POV & Cadence
- Person: first-plural (we) for what we checked, second (you) for what the reader should do. Never "I" unless a byline is set.
- Sentence rhythm: short and declarative. Numbers and dates in the first sentence of a section.
- Paragraph length: 2 to 4 sentences. Tables carry the comparisons, prose carries the verdict.
- Keep: the answer block first, a "last verified" date, "unknown" for missing data. Avoid: scene-setting openers, rhetorical questions, wrap-up paragraphs that restate the page.

#### 5. Lexicon
- Preferred terms: dictation, voice typing (the built-in names), free tier, plan, price per month, price per year, verified, "vendor-supplied".
- Banned phrases (beyond humanizer's generic list): game-changer, supercharge, revolutionary, "the best dictation app" without a stated use case, "unlock your productivity", "blazing fast", "seamless".
- Capitalization & spelling rules: Wispr Flow, Superwhisper, MacWhisper, Typeless, Dragon, Google Docs, macOS, iOS, Windows. Dollar prices as $15/month, never "fifteen dollars".
- Domain-jargon level: low. Say "runs on your device" before "local inference", and define "cloud" once as "audio is sent to the vendor's servers".

#### 6. E-E-A-T / Experience Claims
Nothing below is filled until Tom supplies it. No experience is claimed until then.
- Authentic experience this voice can claim: none. No hands-on run is logged yet (comparison pages say "Not tested yet", `src/components/ComparisonPage.astro`).
- Named author + bio source: no named author and no named reviewer. Pages publish under the site byline, dictation.guide, published by Flywheel (`src/pages/about.astro` has no byline yet).
- Quantified credential for bios: none.
- Citation posture: cite the vendor's pricing page or docs for every price and limit, with the date read. Prefer primary sources over roundups. First-person experience markers ("we ran", "we measured") only on pages with a dated test note.
- Original-data hooks this voice owns: the tools dataset (price and limit history with dates), the price-change tracker, and the two owned tools (voice typing test, speaking-rate test). Show our own records, not a restated third-party stat.
- "What I got wrong" angle: none recorded. Use one only after a logged test produces it.

#### 7. Gold-Standard Examples
Written fresh for this profile. They are anchors for tone, not published text, and they carry no tested-tool claims. Replace with real on-voice paragraphs after the first pages ship.
- Example A (answer block, pricing page): "Wispr Flow's paid plan costs $15 a month billed monthly, according to its pricing page on the date below. The free tier has a weekly word cap, so a heavy writer will hit it. The annual plan is cheaper per month if you are sure you will keep it. Last verified: [date]. Source: the vendor's pricing page."
  - Why on-voice: the number comes first, the date and source sit beside it, the limit is stated without spin. (The $15 figure is a placeholder for the example, check the dataset before using it.)
- Example B (who should skip it): "Skip this one if you only dictate a few emails a week. The built-in dictation on your phone or in Google Docs does that for nothing, and the paid tools earn their price only when you write for an hour or more a day. We have not tested it on Linux, so we list that as unknown."
  - Why on-voice: it tells the reader not to buy, and it says "unknown" instead of guessing.

#### 8. Anti-References
- Vendor-written "best of" lists that rank the vendor first.
- Affiliate roundups with no dates, no sources and the same ten tools in a different order.
- Coupon and promo-code pages.
- Breathless AI-productivity copy.
- Generic AI listicle tone: three-item lists, "in today's fast-paced world", tidy one-line closers.

## STRATEGY.md

Version 1.1.1 · status draft · sha256 241cbe604e65c3a44862894b4dc5c5f8a1ac519c7d5dc5d9635ae711f49898fd

```yaml
charter: 1
version: 1.1.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
mission_shape: charter:mission-shape-serve-x-to-achieve-y (serve X to achieve Y)
horizon: charter:horizon-12m (12 months)
positioning:
  primary: charter:positioning-axis-authority-depth (authority depth)
  secondary: [charter:positioning-axis-speed-of-answer (speed of answer), charter:positioning-axis-price-position (price position)]
profile_required: true
audiences:
  - kind: charter:audience-kind-buyer (buyer)
    name: The switcher
    segment: switcher
    job_to_be_done: Get the price, the free-tier limits and the cheaper alternative before paying.
  - kind: charter:audience-kind-consumer (consumer)
    name: The built-in user
    segment: built-in-user
    job_to_be_done: Make voice typing work in Google Docs, Word, iPhone, Android or Mac, and fix it when it breaks.
  - kind: charter:audience-kind-practitioner (practitioner)
    name: The heavy writer
    segment: heavy-writer
    job_to_be_done: Set up an accurate, fast dictation workflow (mic, app, vocabulary).
  - kind: charter:audience-kind-buyer (buyer)
    name: The team lead
    segment: team-lead
    job_to_be_done: Pick a tool for a small team using platform, local-versus-cloud, language and admin data.
```

### STRATEGY, dictation.guide

#### Mission

We help people who talk to their computer pick a dictation tool and set it up, so they write faster without paying for the wrong app.

#### Positioning

Primary axis: authority through data depth. Every tool page renders from one dataset with dated prices and source links, so a price change is fixed once and shows everywhere. Independence (no vendor can buy a ranking or a verdict) is how we earn that authority, and it is a rule on the page, not a separate axis. The charter vocabulary has no independence axis, so it is carried here in prose and in BRAND.md claims c1 and c2.

Secondary: speed of answer (the answer and its verified date sit above the fold; the goal is a decision in about ten minutes) and price position (cheapest and free options listed first on alternatives pages).

We concede: speech-science authority, news speed, the head terms ("dictate", "what is dictation"), brand head queries (vendor and app-store owned), meeting-notes and recorder queries (the sister site owns them), and platform-help how-tos until the day-60 gate shows we can rank there.

#### Audiences

The switcher has heard of Wispr Flow or Typeless and wants the price, the free-tier limits and the cheaper alternative before paying.

The built-in user wants voice typing to work in Google Docs, Word, iPhone, Android or Mac now, and wants a fix when it stops working.

The heavy writer writes email, documents or code prompts all day and wants an accurate, fast setup: microphone, app and custom vocabulary.

The team lead picks a tool for a small team and needs data fields: platforms, local versus cloud processing, languages and admin features.

#### Competitors

Source: `docs/competitive-landscape.md` (eight head-query reads and page reads, 2026-10-03; every claim there carries its URL).

- Dictation-app vendors writing about rivals hold most slots: Spokenly (spokenly.app, on 4 of 8 head queries), Voibe (getvoibe.com), VoiceDash (voicedash.ai) and Weesper Neon Flow (weesperneonflow.ai, also on our tool queries). Each points the reader to its own app; that is the gap we answer.
- Both vendors rank their own page first on "superwhisper vs wispr flow" (superwhisper.com, wisprflow.ai).
- Independent publishers: Zapier (first on "best dictation software", tested but undated prices, no disclosure on the page) and TechRadar (title still says 2025).
- zackproser.com: a named author with daily first-hand use and a disclosed Wispr Flow affiliate link, first on "wispr flow pricing". Ahead of us on experience, narrower on scope.
- Speed-test tools: TypingMaster (WPM only) and Weesper's speed and typing-vs-dictation tests.
- User-review aggregators: Product Hunt and G2 on the alternatives and review queries.
- Dragon queries belong to Nuance, Amazon and Wikipedia; platform help still holds the how-to SERPs.

The 2026-10-01 launch strategy read "wispr flow alternatives", "wispr flow review" and "superwhisper vs wispr flow" as having no vendor in the top 10. The 2026-10-03 read finds vendor blogs on all three. The reads used different tools, so rows 2 to 4 get a Google read (gate G0) before they are built.

#### What we will not do

- Text-to-speech and voice generators (ElevenLabs, Speechify).
- Companion voice AI and assistant voice mode as a category.
- Medical, legal and other scribe or B2B dictation software.
- Meeting-notes recorders and transcription services (the sister site's topic).
- Speech-therapy, accent and dictation-skill coaching.
- Paid placement that changes a score, a ranking order or a data field, or monetising one vendor twice on a page.
- Programmatic pages that only render the dataset table.
- Commission copy for an affiliate program we have not confirmed in writing.

#### Bets for the horizon

1. A data-first launch set of 15 pages (pricing, alternatives, vs, review, listicles, master table, two tools, three trust pages), all fed from one dated dataset. Moves `gsc_impressions` and `pages_indexed`.
2. Two owned free tools (voice typing test, speaking-rate and filler test) as repeat-use and newsletter hooks. Moves `newsletter_subscribed` and `content_engaged`.
3. Staged expansion to about 55 pages behind two published gates (day 60 and day 120), with sponsor and affiliate lines only after a vendor program is confirmed. Moves `gsc_clicks` and `affiliate_clicked`.

## AUDIENCE.md

Version 1.1.1 · status draft · sha256 3e2a1a386e2d5b6539163db7160d4722dda830ecc7f4fd6b4c5169ded9383d19

```yaml
charter: 1
version: 1.1.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
segments:
  - slug: switcher
    name: The switcher
    kind: charter:audience-kind-buyer (buyer)
    archetype: icp:software-switcher (Software switcher)
    priority: charter:segment-priority-primary (primary)
    job_to_be_done: Get the price, the free-tier limits and the cheaper alternative before paying.
    funnel_stages: [charter:funnel-stage-consideration (consideration), charter:funnel-stage-decision (decision)]
    languages: [en]
    regions: [US, GB, CA, AU]
    pains:
      - Prices and free-tier limits are hard to find and change often.
      - Most comparison pages are written by vendors.
    channels: [charter:channel-organic-search (organic search), charter:channel-community (community), charter:channel-ai-assistant (AI assistant)]
    entry_paths: ["/*-pricing/", "/*-alternatives/", "/*-vs-*/", "/*-review/"]
    size_signal: {metric: monthly_searches, value: 3370, unit: count}
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "agent draft 2026-10-01 from STRATEGY.md audiences and strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §3", as_of: 2026-10-01}
      size_signal: {basis: charter:evidence-basis-researched (researched), source: "strategy-work/projects/dictation-skills/strategy/affiliate-reframe-and-adjacencies-2026-10-01.md rows wispr flow pricing 1,600 + alternatives 590 + is wispr flow free 590 + superwhisper vs wispr flow 590 (DataForSEO US)", as_of: 2026-10-01}
      regions: {basis: charter:evidence-basis-researched (researched), source: "strategy-work/projects/dictation-skills/strategy/naming-and-i18n-2026-10-01.md (English-only dictation keyword family)", as_of: 2026-10-01}
      priority: {basis: charter:evidence-basis-researched (researched), source: "docs/content-inventory.md (2026-10-03): 2 of the 3 drafted non-trust pages (/wispr-flow-pricing/, /superwhisper-vs-wispr-flow/) and 12 of 35 named planned pages serve this segment", as_of: 2026-10-03}
  - slug: built-in-user
    name: The built-in user
    kind: charter:audience-kind-consumer (consumer)
    archetype: icp:knowledge-worker-voice-first (Voice-first knowledge worker)
    priority: charter:segment-priority-secondary (secondary)
    job_to_be_done: Make voice typing work in Google Docs, Word, iPhone, Android or Mac, and fix it when it breaks.
    funnel_stages: [charter:funnel-stage-awareness (awareness)]
    languages: [en]
    regions: [US, GB, CA, AU]
    channels: [charter:channel-organic-search (organic search), charter:channel-social-video (social video)]
    entry_paths: ["/how-to/*", "/fix/*"]
    size_signal: {metric: monthly_searches, value: 22900, unit: count}
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "agent draft 2026-10-01 from STRATEGY.md audiences and strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §3", as_of: 2026-10-01}
      size_signal: {basis: charter:evidence-basis-researched (researched), source: "strategy-work/projects/dictation-skills/research/keyword-research-2026-10-01.md rows google docs voice typing 14,800 + voice typing 8,100 (DataForSEO US)", as_of: 2026-10-01}
      priority: {basis: charter:evidence-basis-researched (researched), source: "docs/content-inventory.md (2026-10-03): no drafted page serves this segment; 12 of 35 named planned pages do, the first two in Wave 0 (/google-docs-voice-to-text, /talk-to-text-android)", as_of: 2026-10-03}
  - slug: heavy-writer
    name: The heavy writer
    kind: charter:audience-kind-practitioner (practitioner)
    archetype: icp:knowledge-worker-voice-first (Voice-first knowledge worker)
    priority: charter:segment-priority-secondary (secondary)
    job_to_be_done: Set up an accurate, fast dictation workflow (mic, app, vocabulary).
    funnel_stages: [charter:funnel-stage-consideration (consideration), charter:funnel-stage-retention (retention)]
    languages: [en]
    regions: [US, GB, CA, AU]
    channels: [charter:channel-organic-search (organic search), charter:channel-newsletter (newsletter), charter:channel-community (community)]
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "agent draft 2026-10-01 from STRATEGY.md audiences and strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §3", as_of: 2026-10-01}
      priority: {basis: charter:evidence-basis-researched (researched), source: "docs/content-inventory.md (2026-10-03): 1 drafted page (/tools/speaking-rate-and-filler-test/) and 11 of 35 named planned pages (tools, /learn/ curriculum, microphone page) serve this segment", as_of: 2026-10-03}
  - slug: team-lead
    name: The team lead
    kind: charter:audience-kind-buyer (buyer)
    archetype: icp:small-team-tool-buyer (Small-team tool buyer)
    priority: charter:segment-priority-watch (watch)
    job_to_be_done: Pick a tool for a small team using platform, local-versus-cloud, language and admin data.
    funnel_stages: [charter:funnel-stage-consideration (consideration), charter:funnel-stage-decision (decision)]
    languages: [en]
    regions: [US, GB]
    firmographics:
      company_size: [charter:company-size-2-10 (2 to 10), charter:company-size-11-50 (11 to 50)]
      roles: [Team lead]
    channels: [charter:channel-organic-search (organic search), charter:channel-ai-assistant (AI assistant)]
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "agent draft 2026-10-01 from STRATEGY.md audiences and strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §3", as_of: 2026-10-01}
      priority: {basis: charter:evidence-basis-researched (researched), source: "docs/content-inventory.md (2026-10-03): no page drafted or planned in Waves 0 to 2 serves this segment, so watch", as_of: 2026-10-03}
      firmographics: {basis: charter:evidence-basis-assumed (assumed), source: "agent draft 2026-10-01 from the 'small team' wording in STRATEGY.md; no sector or seniority data, so both omitted", as_of: 2026-10-01}
```

### AUDIENCE, dictation.guide

Segments are drafts. Every value is an assumption from the launch strategy unless the
evidence block names research. No segment carries demographics yet: nothing in the sources
measures them, and GA4 demographics replace guesses once the site has 90 days of traffic.

Coverage, from `docs/content-inventory.md` (2026-10-03): nothing is published yet. Of the
drafted pages, two serve the switcher and one the heavy writer; the built-in user gets its
first pages in Wave 0, and no page in any wave serves the team lead.

#### The switcher

Already uses or has tried a paid dictation app, most often Wispr Flow, and checks the price,
the free-tier limit and a cheaper alternative before paying. Arrives on pricing,
alternatives, versus and review pages. Knows the category and wants a dated answer, not an
explanation of dictation.

#### The built-in user

Uses the voice typing that came with Google Docs, Word, iPhone, Android or a Mac, and arrives
when it stops working or when they want it to work better. Searches a how-to or a fix.
Usually has no budget in mind; some later become switchers.

#### The heavy writer

Writes for hours a day and dictates a large share of it. Cares about accuracy, speed,
custom vocabulary and the microphone. Comes back for setup and workflow pages.

#### The team lead

Chooses one tool for a small team and needs platform coverage, local versus cloud
processing, languages and admin features side by side. No launch page targets this segment
yet; it is tracked so the team pages have a home when they are built.

#### Excluded audiences

Text-to-speech and voice-generator users, companion voice AI users, medical, legal and
other scribe buyers, meeting-notes and recorder buyers (they belong to transcription.guide),
and speech-therapy or accent-coaching learners. Taken from STRATEGY.md "What we will not do".

## MONETIZATION.md

Version 1.2.1 · status draft · sha256 40bc3096cfdfc254c8818faf7fa86401d4a1c0dc16569895ca7e632a3b323868

```yaml
charter: 1
version: 1.2.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
revenue_lines:
  - slug: sponsor-card
    name: Dictation-core sponsor package
    type: charter:revenue-type-sponsored-placement (sponsored placement)
    commission_model: charter:commission-model-flat-fee (flat fee)
    payout: {low: 300, high: 700, currency: USD, per: charter:payout-unit-month (month)}
    placements: [charter:placement-type-sponsored-card (sponsored card), charter:placement-type-newsletter-mention (newsletter mention)]
    segments: [switcher, heavy-writer]
    kpi_key: sponsored_income_recorded
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-core (core)
    start_trigger: one sponsor by month 6
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 sponsor floor, price marked guess, no comparables found", as_of: 2026-10-01}
      share_band: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §8 revenue table: sponsor is $1,400 of the $1,857 high-case month-12 run-rate", as_of: 2026-10-01}
  - slug: display-ads
    name: Display ads, entry network
    type: charter:revenue-type-display-ads (display ads)
    network: AdSense or Ezoic class, not chosen
    commission_model: charter:commission-model-rpm (RPM)
    payout: {low: 8, high: 14, currency: USD, per: charter:payout-unit-thousand-sessions (thousand sessions)}
    placements: [charter:placement-type-display-slot (display slot)]
    segments: [built-in-user, switcher]
    kpi_key: ad_revenue_recorded
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-minor (minor)
    start_trigger: around month 3; premium network not expected inside year one
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 ad-network plan, RPM marked guess, thresholds to verify before applying", as_of: 2026-10-01}
  - slug: affiliate-wispr-flow
    name: Wispr Flow referral program
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Wispr Flow, entity: null, program_url: "https://partners.dub.co/flow"}
    network: Dub Partners
    program_status: charter:program-status-published (published)
    commission_model: charter:commission-model-revshare-percent (revenue share)
    cookie_days: 60
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: unverified", as_of: 2026-10-01}
      program_status: {basis: charter:evidence-basis-researched (researched), source: "https://partners.dub.co/flow (program page read 2026-10-03: 25% per sale for the first year, apply button; not applied); docs/competitive-landscape.md", as_of: 2026-10-03}
      partner: {basis: charter:evidence-basis-researched (researched), source: "https://partners.dub.co/flow", as_of: 2026-10-03}
      network: {basis: charter:evidence-basis-researched (researched), source: "https://partners.dub.co/flow", as_of: 2026-10-03}
      commission_model: {basis: charter:evidence-basis-researched (researched), source: "https://partners.dub.co/flow (25% recurring on the first year of payments)", as_of: 2026-10-03}
      cookie_days: {basis: charter:evidence-basis-researched (researched), source: "https://partners.dub.co/flow (60-day cookie)", as_of: 2026-10-03}
  - slug: affiliate-superwhisper
    name: Superwhisper affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Superwhisper, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/affiliate-reframe-and-adjacencies-2026-10-01.md R15 says no public scheme found, no source URL; strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7: unverified. Moves to none once someone confirms the absence", as_of: 2026-10-01}
  - slug: affiliate-macwhisper
    name: MacWhisper affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: MacWhisper, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/affiliate-reframe-and-adjacencies-2026-10-01.md R15 says no public scheme found, no source URL; strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7: unverified. Moves to none once someone confirms the absence", as_of: 2026-10-01}
  - slug: affiliate-typeless
    name: Typeless affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Typeless, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: not checked", as_of: 2026-10-01}
  - slug: affiliate-willow
    name: Willow affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Willow, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: not checked", as_of: 2026-10-01}
  - slug: affiliate-voiceink
    name: VoiceInk affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: VoiceInk, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: not checked", as_of: 2026-10-01}
  - slug: affiliate-aqua-voice
    name: Aqua Voice affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Aqua Voice, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: not checked", as_of: 2026-10-01}
  - slug: affiliate-monologue
    name: Monologue affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Monologue, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: not checked", as_of: 2026-10-01}
  - slug: affiliate-spokenly
    name: Spokenly affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Spokenly, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: not checked", as_of: 2026-10-01}
  - slug: affiliate-dragon
    name: Dragon affiliate
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Dragon, entity: null, program_url: null}
    program_status: charter:program-status-unchecked (unchecked)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-table-row (table row), charter:placement-type-inline-link (inline link)]
    segments: [switcher]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: program confirmed in writing with date and source URL
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 program table: network and consumer-program availability doubtful, not checked", as_of: 2026-10-01}
  - slug: affiliate-amazon-associates
    name: Amazon Associates, hardware pages
    type: charter:revenue-type-affiliate (affiliate)
    partner: {name: Amazon, entity: null, program_url: "https://affiliate-program.amazon.com/"}
    network: Amazon Associates
    program_status: charter:program-status-published (published)
    commission_model: charter:commission-model-unknown (unknown)
    placements: [charter:placement-type-inline-link (inline link), charter:placement-type-table-row (table row)]
    segments: [heavy-writer]
    kpi_key: affiliate_clicked
    status: charter:revenue-status-idea (idea)
    share_band: charter:revenue-share-band-marginal (marginal)
    start_trigger: apply on launch day; build the Wave 2 hardware page only after approval (180-day qualifying-sale rule)
    evidence:
      default: {basis: charter:evidence-basis-assumed (assumed), source: "strategy-work/projects/dictation-skills/strategy/dictation.guide-launch-strategy-2026-10-01.md §7 Amazon note", as_of: 2026-10-01}
      program_status: {basis: charter:evidence-basis-researched (researched), source: "https://affiliate-program.amazon.com/ (program page read 2026-10-01; commission terms not read)", as_of: 2026-10-01}
```

### MONETIZATION, dictation.guide

Every line is a draft assumption from the launch strategy, section 7 and 8. No program is
verified, so no page carries commission copy yet.

#### Revenue model

Display ads and a sponsored card come first; affiliate commission starts only when a
program reaches `verified`. The sponsor package is the swing line: in the launch
strategy's high case it is $1,400 of an $1,857 month-12 run-rate, and without it the
high case is $457. Program status labels follow the charter vocabulary (unchecked, none,
assumed, published, verified), and `src/data/tools.json` uses the same labels.

#### Disclosure rules

Every table row carries a commercial tag (commission, sponsor or none). A sponsored card
sits outside the ranked table and is labelled. No vendor is monetised twice on a page.
Payment never changes a score, a ranking order or a data field. A vendor that disputes a
data point gets a dated correction, not a ranking change.

#### Not monetised

How-to and troubleshooting pages carry display ads only and are budgeted at about 10% of
month-12 revenue or less. Tools are lead capture, not revenue. Text-to-speech, scribe and
meeting-notes products are out of scope for this site.

#### Dictation-core sponsor package

One labelled sponsored card on `/best-dictation-software` or a Windows or Mac listicle plus one newsletter mention. The price range is the launch strategy's guess. In the high case it is most of the month-12 revenue, so it is the core line; in the low case it is zero.

Wispr Flow, the most-searched vendor, says it is not reviewing new sponsorship or creator-collaboration inquiries and has no date for reopening (https://docs.wisprflow.ai/articles/7890073756-partnership-and-creator-collaboration-inquiries, read 2026-10-03). The first sponsor has to come from another vendor.

#### Display ads, entry network

An entry network around month 3. How-to and troubleshooting pages carry display ads only. A premium network is not expected inside year one at the proposed traffic.

#### Wispr Flow referral program

Wispr Flow publishes an affiliate program on Dub Partners: 25% per sale for the first year,
a 60-day cookie, open to sites that reach productivity, tech or creator audiences
(https://partners.dub.co/flow, read 2026-10-03). We have not applied, so the status is
published, not verified, and Wispr Flow rows still carry no commission copy. Share stays
marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Superwhisper affiliate

Superwhisper rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### MacWhisper affiliate

MacWhisper rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Typeless affiliate

Typeless rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Willow affiliate

Willow rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### VoiceInk affiliate

VoiceInk rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Aqua Voice affiliate

Aqua Voice rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Monologue affiliate

Monologue rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Spokenly affiliate

Spokenly rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Dragon affiliate

Dragon rows carry no commission copy until the program is verified. Share is marginal by assumption: the launch strategy models zero revenue for unverified programs.

#### Amazon Associates, hardware pages

The Wave 2 microphone page monetises through Amazon. The application goes in on launch day because Amazon reviews a live site, and the page is built only after approval.

## KPI.md

Version 1.0.1 · status draft · sha256 14154b5bf38465394c05179fc12546d55873b80aa727f682a558bde7401bc96c

```yaml
charter: 1
version: 1.0.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
template: charter:kpi-template-editorial-traffic (editorial traffic)
template_override: ""
kpis:
  - {key: pageview_recorded, role: charter:kpi-role-primary (primary)}
  - {key: gsc_clicks, role: charter:kpi-role-secondary (secondary)}
  - {key: gsc_impressions, role: charter:kpi-role-secondary (secondary)}
  - {key: avg_position, role: charter:kpi-role-secondary (secondary)}
  - {key: content_engaged, role: charter:kpi-role-secondary (secondary)}
  - {key: newsletter_subscribed, role: charter:kpi-role-secondary (secondary)}
  - {key: affiliate_clicked, role: charter:kpi-role-secondary (secondary)}
  - {key: crawl_errors, role: charter:kpi-role-guardrail (guardrail)}
  - {key: pages_indexed, role: charter:kpi-role-guardrail (guardrail)}
```

### KPI, dictation.guide

#### Why these metrics

`pageview_recorded` is the primary: the site is an editorial guide, and recorded pageviews are the closest count of people reading it. `gsc_clicks`, `gsc_impressions` and `avg_position` show whether search is sending readers, and `gsc_impressions` is the early warning in the first 60 days. `content_engaged` (30 seconds foreground plus 50% scroll, or any tool start) separates readers from bounces. `newsletter_subscribed` and `affiliate_clicked` are the two outcomes we can act on, and `affiliate_clicked` counts for weight only once a vendor program is confirmed. Guardrails: `crawl_errors` must not rise while traffic grows, and `pages_indexed` shows whether published pages are getting into the index.

#### Reading guide

Read `pageview_recorded` against its target in kpi-mgmt, never in isolation. A pageview rise with a falling `content_engaged` means thin or mismatched pages. A rise in `crawl_errors` or a drop in `pages_indexed` overrides a good primary: fix the guardrail first. Also report Search Console clicks split by page type (branded, listicle, how-to, tool, other), and the indexed-and-ranking share (pages with an impression in 28 days divided by published pages). Tool events (`tool_started`, `tool_completed`, `result_shared`) are planned but not yet in the catalog, so they are not listed here.

#### Review cadence

Weekly glance at the primary and guardrails. Monthly review against targets, with a decision on the next content wave. Gates at day 60 and day 120 use these keys.

## taxonomy/binding.yaml

Version 1.0.1 · status draft · sha256 503cba05b0f95808623088f7ed7583a33a6c0050c7b5ba7648ee79c4dec53f96

```yaml
charter: 1
version: 1.0.1
profile: editorial-charter@1.3.1
domain: dictation.guide
status: draft
reviewed_by: ""
iab_content: ["iab:602", "iab:W3CW2J"]
icp_profile: portfolio-icp@1.0.0
content_profile: null
languages: [en]
regions: [US, GB, CA, AU]
```
