health.dare.co.uk — editorial-uplift dashboard (parked sketch)

DARE.CO.UK · PARKED SKETCH · 2026-05-18

Mirrored from ~/.claude/.../memory/project_health_dare_co_uk_editorial_uplift_parked.md. This is a design sketch parked for future build — read for context, not as a current deliverable.

2026-05-18 sketch. health.dare.co.uk is the editorial-uplift-focused sibling to dashboard.dare.co.uk. Where dashboard. is the operational catch-all (edge health, traffic, country tables), health. is the “what should I write next + what’s worth upgrading + what’s working” surface. Built on the same toolkit substrate (Site Health card row, window toggle, click-through-to-latest-authoritative-report) but stripped down to ONLY editorial-uplift signals. Resume on Dan’s first content-quality investment push.


Dan, 2026-05-18 evening: “i suspect health.dare.co.uk might be a cleaner sub-set focused on editorial uplift to increase traffic. sketch it later.”

Surface delineation — three dare subdomains

Surface Audience Question it answers Scope
dashboard.dare.co.uk (today) Dan, operationally “Is the site OK right now?” Edge health, traffic, country breakdown, status codes, content types, full operational view
health.dare.co.uk (this sketch) Dan, editorially “What should I write / upgrade next, and is what I just wrote working?” Stripped-down editorial-uplift signals only
time.dare.co.uk (existing) External, time-of-day meeting bookings (Different scope — UX surface, not health)

The two health-style surfaces (dashboard + this) overlap in some signals (Site Health card row) but diverge in framing. dashboard = “everything’s OK”; health = “what to do next.”

What health.dare.co.uk should show — 5 cards / sections

1. Editorial backlog (priority queue) — the load-bearing surface

The page-priority queue. Each row = a page that’s a candidate for editorial uplift. Ordered by leverage (intersection of internal-signal + GSC-marker + traffic-potential).

Column Source Why it’s load-bearing
URL repo walk Identity
Word count bucket dare_content_breadth_audit Thin pages are upgrade candidates
Body image presence dare_body_image_coverage Missing media is recoverable + indexability signal
GSC marker GSC API or CSV import Google’s verdict — crawled-not-indexed = clear upgrade signal
Last edited git log Stale pages may need refresh; recent edits may be ranking-moving
Suggested action rule-based “rewrite as long-form” / “add hero image” / “merge with sibling X” / “delete + redirect”

Default sort: highest leverage at top. Pinable. Dismissable (per-page “not now” state, surfaces again in N days).

Cross-reference: the markers-from-google parked sketch (project_markers_from_google_parked.md) is the data spine for this card.

2. Recent edits × impact

When Dan rewrites a page or ships a new article, does its GSC indexing state change? Does it accrue impressions?

Column Source
URL git log of dare-co-uk
Edit type inferred (substantial edit / small fix / new page)
Days since edit git log mtime
GSC status before / after per-URL indexing-state snapshots
Impressions delta GSC search performance API
Verdict “GAIN” / “FLAT” / “REGRESS”

Time horizon: 30 days. Compounds as the corpus matures: the chart of “edits that moved the needle” becomes the training data for which interventions work.

3. Section coverage map

Where is the corpus light vs deep?

Section Page count Long-form count Avg word count GSC indexed % Editorial gap
/cinema/ 200+ 4 65 ~70% “video-heavy section; could use written depth”
/observations/ 220+ 8 110 ~65% “essay-territory; underdeveloped”
/architecture/ 30 1 80 ~50% “niche topic; depth concentration > breadth”
/people/ 35 0 55 ~40% “many short bios; consolidate into themed pieces?”

The gap column is editorial guidance: where would investment compound? Picks the section to focus on rather than scattering attention across 698 pages.

4. Voice / register check

Recent edits scanned for brand-voice consistency. Per feedback_dare_brand_voice_four_pillars.md, the four pillars (inspiration / conviction / optimism / innovation) define the register. Drift = silent quality regression.

Column Source
Recent URL git log
Pillar 1-4 scores LLM scoring (Claude API on excerpts)
Overall register “ON-BRAND” / “DRIFT”
Specific drift (if any) “too corporate” / “too distant” / “register inconsistency in middle paragraph”

Cards flagged DRIFT click through to a side-by-side compare with a known canonical example.

5. Forward content queue

What’s in flight + scheduled?

Card Content
In-flight drafts List of WIP files in repo (matching *.draft.md or similar)
Scheduled posts If we adopt a publish-date convention, count by week
Research notes LLM-summarised pending threads (could read from a research/ dir)
Case studies in flight The Dan-original-content shape per project_dare_content_strategy.md

Manual-entry surface for things Dan’s actively thinking about but hasn’t started.

Surfaces that are NOT on health.dare.co.uk

To stay STRIPPED DOWN per Dan’s framing, deliberately exclude:

Pure editorial signals only. The user’s mental model when visiting: “I’m here to decide what to write today.”

Architecture — leans on existing toolkit substrate

existing toolkit                           health.dare.co.uk
─────────────────                          ─────────────────
dare_content_breadth_audit ────────────────► card 1 + 3
dare_body_image_coverage ──────────────────► card 1
dare_lost_image_audit ─────────────────────► card 1 (when audit cleans up)
dare_followup_audit ───────────────────────► card 5 (FOLLOW-UPS section)
dare_seo_title_audit ──────────────────────► card 4 indirectly
git log + file mtimes ─────────────────────► card 2 + 5
GSC API (when integrated) ─────────────────► card 1 + 2 + 3
Claude API for voice scoring ──────────────► card 4
sitemap.xml ───────────────────────────────► card 3
                                               │
                                               ▼
                                  dare_health_render.py
                                  (new — but small wrapper)
                                               │
                                               ▼
                                       CF Pages project
                                       (dare-health)
                                       custom domain
                                       (health.dare.co.uk)

The build is light: most data comes from existing audits + a few new aggregations. Maybe ~300 LOC for dare_health_render.py + corresponding HTML/CSS. Reuses card grid + window toggle + click-through patterns wholesale.

Implementation order (when unparking)

Phase What ships Deps
Phase 0 DNS + Pages project + parking landing (same shape as health.audreyinc.com today) All-Zones CDN, security layer, and DNS provider sitting in front of dare.co.uk.">CF token (already done 2026-05-18)
Phase 1 Card 1 (Editorial backlog) + Card 3 (Section coverage) — based purely on existing local audits Audits already running daily
Phase 2 Card 2 (Recent edits × impact) — needs git-log integration + GSC indexing-state snapshots GSC API OAuth (separate setup)
Phase 3 Card 5 (Forward content queue) — needs draft / scheduled convention Editorial workflow decisions
Phase 4 Card 4 (Voice register) — needs Claude API integration + canonical example corpus Anthropic API key (already in 1P)

Phase 0 + Phase 1 = ~half-day. The rest stages over multiple sessions as data + conventions mature.

What’s intentionally tooling, in service of editorial

Per user_invest_in_content_quality_not_more_tooling.md: this build IS tooling, but its sole purpose is to shorten the loop between editorial decision and editorial output. Every card answers a question Dan would otherwise spend ~10-30 minutes hunting for. The investment is in service of editorial work, not displacing it.

The standing-instruction stance check applies: if a proposed addition doesn’t directly enable an editorial decision, it doesn’t belong on health.*.

Cross-portfolio extension

The same surface shape lifts to:

Surface Brand Adjusted scope
health.audreyinc.com (parking today) audrey Editorial = product-description quality + collection-page depth + review accrual signals. Phase 0 already shipped today.
dashboard.dogwood.house (planned) dogwood Per Dan’s earlier framing: “lean, editorial-focused” — likely IDENTICAL shape to health.dare.co.uk applied to dogwood’s service-business content surfaces (member-dog journal, place pages, mechanics)
Client engagements per-client The first deliverable for any “we want more traffic” engagement could be the per-client editorial-uplift surface

The pattern is brand-agnostic. The cards’ DATA SOURCES adapt per brand; the cards themselves stay constant.

Open design questions

  1. How is the editorial-backlog priority computed? Currently sketched as “intersection of internal signal + GSC marker + traffic potential” — but the WEIGHT given to each signal needs calibration. v1 might just be (GSC = crawled-not-indexed) + (content = stub) → priority HIGH. Refine as patterns emerge.
  2. Dismiss / pin / “not now” state. Where does that state live? Probably a small KV namespace per-brand: dare_health_state. Per-URL flags.
  3. Voice-register scoring frequency. Card 4 hitting Claude API per edit might cost; perhaps just on flagged-uncertain pages, not every recent edit.
  4. GSC API integration vs CSV import. CSV is faster to ship (manual export, drop in ~/Downloads); API is the long-term shape. Same trade-off as project_markers_from_google_parked.md — start CSV.
  5. Time horizon for “recent edits.” 30 days seems right; calibrate after first month of use.

Sibling memories

Resume conditions

Source: parked_sketch_health_dare_co_uk_editorial_uplift_2026-05-18.md · Rendered 2026-05-18 12:53