Back to work

Case Study

Ghost PM Signal — PM Intelligence Dashboard

RoleDesigner & Builder
StackClaude API · Multi-source Aggregation · Vanilla JS · Vercel
BuiltMarch 2026

The Problem

PMs at independent platforms face a recurring challenge: they're surrounded by signal but lack a fast way to turn it into decisions. User feedback lives on a forum. Competitor moves land in a changelog. Community sentiment is scattered across Hacker News. Strategic bets are buried in GitHub.

A good PM synthesises all of it. But doing it manually takes time most PMs don't have — and it's easy to miss things. I wanted to build a tool that does this work automatically: aggregate every relevant signal source for a platform, run it through a PM-grade decision framework, and produce a brief that's actually useful.

I chose Ghost as the subject because independent publishing is a genuinely interesting product space — creator monetisation, the open social web, and the tension between platform growth and editorial independence are all live problems. Building the tool around a real platform with real public data made the output meaningful rather than hypothetical.

What I Built

A live PM intelligence dashboard that aggregates six data sources into one interface and uses Claude to synthesise them into a weekly decision brief.

Six signal sources, all live

Ghost Forum Ideas: Top-voted feature requests — 880+ topics, live vote counts
GitHub (TryGhost/Ghost): Feature requests by reaction count
GitHub (TryGhost/ActivityPub): Ghost's Fediverse strategic bet — open issues
Hacker News: How the technical community talks about Ghost — stories and comment sentiment
Kit (ConvertKit) Changelog: What Ghost's closest competitor is shipping
Ghost Changelog + Blog RSS: What Ghost has shipped and how they position it

Six tabs in the dashboard — PM Brief, Feature Votes, GitHub, HN Pulse, Competitor Watch, and Ghost Releases — each surfacing a different layer of the signal stack.

Design Decisions

  • Data loading and synthesis are separate: The dashboard loads all six sources on page open — fast, zero AI cost. Synthesis is on-demand: clicking "Generate PM Brief" triggers Claude. This makes the raw data immediately useful and keeps the synthesis moment feel deliberate. The tool works as a data viewer even if the API were unavailable.
  • ActivityPub as a strategic signal, not a bug tracker: Ghost is making a long-term bet on the Fediverse — federation with Mastodon and decentralised social publishing. Surfacing the TryGhost/ActivityPub repo separately, labelled 'Ghost's Fediverse Bet', frames it correctly for a PM: this is direction-setting work, not feature work.
  • Kit over Beehiiv or Substack: I tried all three. Beehiiv's changelog is JavaScript-rendered — inaccessible from a serverless function. Substack has no public product changelog. Kit publishes a parseable HTML changelog. Beyond accessibility, Kit is Ghost's most direct competitor in creator monetisation — what Kit ships is what Ghost users will start expecting.
  • Seven sources is the minimum viable intelligence layer: Each source alone is a partial picture. Ghost Forum without competitor context gives you a wishlist. Kit's changelog without Forum data gives you competitor moves without urgency. The synthesis only becomes useful when sources can be connected — a 174-vote Forum request becomes urgent when a competitor shipped the same feature last quarter.
  • Promise.allSettled, not sequential fetches: All six sources fetch in parallel. Individual failures are handled gracefully — one source going down doesn't break the page. This is how production data aggregation tools are built: resilient by default, not by accident.

The Synthesis Layer

The Claude synthesis prompt is built around a four-section PM decision framework — not a summary of what happened, but a brief on what to do about it.

01🔥 Top 3 Opportunities: What to build, with evidence (vote counts, sources), why now, and a recommended action
02⚔️ Competitive Gap Alert: What Kit shipped that Ghost doesn't have, mapped to Forum requests with urgency score
03🛰️ Strategic Signal: ActivityPub: Is Ghost's Fediverse bet accelerating or stalling? What does the community think?
04🚫 What to Deprioritise: 1–2 items that look urgent but aren't — and why

The system prompt explicitly prohibits hedging and requires evidence citations from the actual data. The framing — act as a senior PM preparing for a product strategy session — changes the output. Summary tells you what happened. A PM brief tells you what to do.

What the Data Revealed

Running the tool for the first time surfaced an immediate finding: the top Ghost Forum feature request has 174 votes — third-party SSO. In the same period, Kit shipped comparable authentication features.

That pattern — high-vote Forum request mapped to a competitor ship — is exactly the kind of gap the synthesis layer is designed to surface. Ghost users are asking for features that Kit already has. The urgency isn't theoretical; it's evidenced.

Other patterns: custom email sequences (50 votes) are Kit's core product strength. Ghost users are asking for Kit's product inside Ghost. Email provider alternatives (56 votes) point to creator frustration with Mailgun lock-in — an infrastructure pain point with real churn implications.

What It Demonstrates

Agentic data orchestration
Seven sources fetched in parallel, error-handled individually, synthesised by a model using a structured decision prompt — the same pattern as any PM intelligence or research agent
Product judgment in architecture
Every design decision reflects PM thinking, not engineering defaults. The tool structure is an opinion about how product intelligence should work
AI as a thinking tool
The Claude synthesis isn't summarisation — it's a PM framework applied to live data. The difference between 'here's what users want' and 'here's what to build next' is the value a senior PM adds

Ghost Creator Suite

Ghost PM Signal is part of a five-tool suite built to understand Ghost's product ecosystem end-to-end.

Ghost PulseAPI-connected member analytics dashboard — JWT auth, Ghost Admin API, live insights
Ghost RepurposeNewsletter → 5 formats in your voice via Claude
Ghost Creator AdvisorMetrics → business diagnosis + recommendations
Ghost IntelPlatform releases, changelog, AI digest
Ghost PM SignalPM intelligence — this project
·