Skip to content

feat: the detail-page skeleton, built for real on network pages - #66

Merged
sonpiaz merged 1 commit into
mainfrom
feat/network-detail-template
Aug 2, 2026
Merged

feat: the detail-page skeleton, built for real on network pages#66
sonpiaz merged 1 commit into
mainfrom
feat/network-detail-template

Conversation

@sonpiaz

@sonpiaz sonpiaz commented Aug 2, 2026

Copy link
Copy Markdown
Member

The mockup was a picture. This is the thing — click the Vercel preview below.

/networks/[slug] was the weakest of the three detail pages: 184 lines, no section headings, no JSON-LD, no verification status, and nothing telling a reader how you actually join. It now fills all seven slots, so it becomes the reference the other two get rewritten against.

What appeared

Identity gains a kind badge. Marketplaces publish a directory you browse; affiliate software has none — the brand runs its own program on it. /networks/dub and /networks/partnerstack looked like the same kind of page, and a reader had no way to learn there is nothing to browse on the first.

Answer — one sentence at the top, the line a reader or an engine would quote.

Facts read the typed commission. "Average" became "Verified" — an average taken across a set where a quarter published no figure is not a number worth showing.

Questions — three h2s answered in their first sentence, generated from the registry so they cannot go stale. Including one that explains why rows say "Not published", which is the obvious question the typed field creates.

Status — N of M verified, stated rather than implied.

Machine — CollectionPage JSON-LD with the program list. Program pages have carried this since launch; category and network pages never did, so an assistant had nothing structured to cite them from.

A correctness fix that came with it

Averages now come from programs that published a figure. Counting an unknown as zero is how a network of mostly-unpublished programs ends up advertising an average it never earned.

Four things only rendering it caught

  • dub is affiliate software mid-sentence — stored values are lowercase slugs and CSS capitalize cannot reach inside a generated string
  • 1 of 3 program — the noun agreed with the difference instead of the total
  • the Highest card blown out by a hybrid rate string, now showing the typed number

Reading the code would not have surfaced any of them.

tsc 0 · build 884 static pages.

🤖 Generated with Claude Code

The mockup was a picture. This is the thing.

/networks/[slug] was the weakest of the three detail pages — 184 lines,
no section headings, no JSON-LD, no verification status, and nothing
telling a reader how you actually join. It now fills all seven slots, so
it is the reference the other two get rewritten against.

What appeared:

  Identity      gains a kind badge. Marketplaces publish a directory you
                browse; affiliate software has none, the brand runs its
                own program on it. /networks/dub and
                /networks/partnerstack looked like the same kind of page
                and a reader had no way to learn there is nothing to
                browse on the first.

  Answer        one sentence at the top, the line a reader or an engine
                would quote.

  Facts         reads the typed commission. "Average" became "Verified" —
                an average taken across a set where a quarter published
                no figure is not a number worth showing.

  Questions     three h2s answered in their first sentence, generated
                from the registry so they cannot go stale. Including one
                that explains why rows say "Not published", which is the
                obvious question the typed field creates.

  Status        N of M verified, stated rather than implied.

  Machine       CollectionPage JSON-LD with the program list. Program
                pages have carried this since launch; category and
                network pages never did, so an assistant had nothing
                structured to cite them from.

Averages now come from programs that published a figure. Counting an
unknown as zero is how a network of mostly-unpublished programs ends up
advertising an average it never earned.

Four things the first render exposed that reading the code would not
have: "dub is affiliate software" mid-sentence, since stored values are
lowercase slugs and CSS capitalize cannot reach inside a generated
string; "1 of 3 program" from agreeing the noun with the difference
instead of the total; and the Highest card blown out by a hybrid rate
string, now showing the typed number.

tsc 0, build 884 static pages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
open-affiliate Ready Ready Preview Aug 2, 2026 2:51am

Request Review

@sonpiaz
sonpiaz merged commit 160541a into main Aug 2, 2026
4 checks passed
@sonpiaz
sonpiaz deleted the feat/network-detail-template branch August 2, 2026 02:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant