The subscribe forms across the site had looked real and done nothing since the Hub shipped. Building them against Buttondown’s actual account-generated snippet — not just its general docs — surfaced a real bug (a missing name="email" attribute that would have silently failed on first use) and a detail the docs never mentioned at all (a required attribution link, a free-tier condition).
/now and /about were the last two pages blocked on something no doc could answer: real facts about an actual person. Once those existed, both pages were mostly mechanical ports of their mockups — except /about dropped its planned photo hero and gallery outright, since there were no real photos to show, rather than building placeholder image slots for images that don’t exist.
An open question from the favicon spec — should the mark move — got answered with an actual working prototype instead of a hypothetical: Mark A now plays a one-time scattered-to-knolled reveal in the nav on page load, reusing the same CSS variables and reduced-motion handling as everything else on the site.
The GitHub on-ramp, spec’d out ten months earlier, finally shipped two of its three rungs: the footer’s link to the full change history, and “suggest an edit” links on every post. The third rung — comments via GitHub Discussions — got built to spec but stayed unmounted, since installing the giscus app and creating a Discussion category are both one-time steps only the account owner can click through.
Main takeaways
- An account’s own generated snippet is closer to ground truth than general platform documentation.
- When a mockup’s placeholder pattern has nothing real to fill it, dropping it outright reads better than a placeholder box.
- A reveal animation should reuse the site’s existing tokens and motion rules rather than being built as a one-off special case.
- Some steps genuinely can’t be scripted or done for someone else — building the component to spec and waiting is the honest state, not a broken embed with placeholder IDs.
What I got wrong
- The subscribe form’s
<input>was missingname="email"— it looked complete and would have silently failed to submit anything. /nowhas no enforcement that it stays current — the convention only works if it’s actually kept up.

