The distribution graph
How the work finds its audience
This site produces essays, podcasts, a daily comic, datasets, games, and films. This page maps how all of that travels: every content type, every owned feed, every external channel worth an account, and, most importantly, the edges between them. Each hop is typed, carries an automation tier that says where the human sits, and, when marked live, must cite the code that runs it, or the build fails. Starting at zero on a channel now beats not being there: a new channel inherits years of back catalog on day one.
01
The map
The wired subgraph: nodes that carry at least one edge today or in the sequenced plan. Solid edges run now; dotted ones are planned. Click any node for its dossier: norms, ceilings, and every edge in and out.
02
Automation tiers: where the human sits
The gate is not one switch. Every edge carries a tier, every channel declares a ceiling, and an edge can never be more autonomous than its channel allows: a Hacker News edge is structurally incapable of automation, and nothing anywhere starts at T4.
T0-manual
Manual
A human does everything. The only tier community norms allow.
T1-assisted
Assisted
AI drafts, a human posts by hand (the 'post manually' degrade path).
T2-gated
Gated
AI drafts, system posts, but only after explicit human approval (the /social posture).
T3-auto-syndicate
Auto-syndicate
One approval on the canonical artifact authorizes republication to this endpoint with no second gate.
T4-autonomous
Autonomous
System sources, drafts, and posts unaided. Reserved; nothing starts here.
03
Who speaks
Hybrid identity: one personal spine plus a brand voice per property. An account is an identity times a channel; identity rides on the edge, so the critique show can never accidentally post as the interview show.
Jake Lawrence
personal
The spine. Systems, AI, building in public; everything defaults here.
Heddle
brand
The product. Calm, useful, never personal-brand noise.
Between Systems
brand
The interview show. Warm, relationship-first; guest pages are the deliverable.
The Legibility Desk
brand
The critique show. Cited, adversarial; firewalled from the personal spine by design.
Merge Conflicts
brand
The daily comic. Visual-first; the natural identity for image platforms.
04
The bench: 63 candidate channels
Censused, characterized, and deliberately not yet wired. A candidate earns a node by surviving the census; it earns an edge only when the sequencing says so. Nothing here was silently dropped: even the exclusions are recorded in the module.
push · 14 candidates
Discord server
api: full · audience: niche · effort: medium
Facebook Page
api: full · audience: medium · effort: medium
HackerNoon
api: none · audience: medium · effort: medium
Hashnode
api: paid · audience: niche · effort: medium
api: partial · audience: medium · effort: medium
Mixcloud
api: partial · audience: niche · effort: medium
Paragraph
api: uncertain · audience: niche · effort: medium
PeerTube
api: full · audience: niche · effort: medium
SoundCloud
api: uncertain · audience: niche · effort: medium
Substack Notes
api: none · audience: medium · effort: medium
Tumblr
api: full · audience: medium · effort: low
Twitch
api: partial · audience: medium · effort: high
WhatsApp Channel
api: none · audience: niche · effort: low
Post-like alternatives long tail
api: uncertain · audience: niche · effort: low
passive · 16 candidates
ActivityPub-native blog federation
api: full · audience: niche · effort: medium
Bluesky custom feeds + starter packs
api: full · audience: niche · effort: medium
Castbox
api: none · audience: niche · effort: low
Deezer
api: none · audience: niche · effort: low
Fountain
api: partial · audience: niche · effort: medium
GIPHY
api: partial · audience: medium · effort: medium
Google Discover
api: none · audience: medium · effort: low
Google News eligibility
api: none · audience: niche · effort: medium
iHeartRadio
api: none · audience: niche · effort: low
Internet Archive / Wayback preservation
api: full · audience: niche · effort: low
Listen Notes
api: paid · audience: niche · effort: low
Pocket Casts
api: none · audience: niche · effort: low
TuneIn
api: none · audience: niche · effort: low
Web push notifications
api: full · audience: niche · effort: low
Webmention ecosystem
api: full · audience: niche · effort: low
Wikipedia citations
api: full · audience: niche · effort: high
community · 25 candidates
AI engineering chat
api: none · audience: medium · effort: low
Bear Blog discovery feed
api: none · audience: niche · effort: low
Behance
api: none · audience: medium · effort: low
Civic tech + OSINT chat
api: none · audience: niche · effort: low
ComicFury
api: none · audience: niche · effort: low
Dribbble
api: partial · audience: niche · effort: low
Data Visualization Society Slack
api: none · audience: niche · effort: low
Figma Community
api: none · audience: niche · effort: high
Frontend chat
api: none · audience: medium · effort: low
GlobalComix
api: none · audience: niche · effort: low
Goodpods
api: none · audience: niche · effort: medium
Imgur
api: full · audience: medium · effort: low
Indie Hackers
api: none · audience: niche · effort: low
IndieWeb
api: full · audience: niche · effort: medium
Lobsters
api: partial · audience: niche · effort: high
MetaFilter
api: none · audience: niche · effort: low
Newgrounds
api: none · audience: niche · effort: medium
Podchaser
api: partial · audience: niche · effort: low
Product Hunt
api: partial · audience: medium · effort: medium
Reddit - AI/LLM engineering cluster
api: partial · audience: large · effort: medium
Reddit - indie/self-hosting cluster
api: partial · audience: medium · effort: low
Reddit - podcasting cluster
api: partial · audience: niche · effort: medium
Reddit - webdev cluster
api: partial · audience: large · effort: low
Tapas
api: none · audience: niche · effort: medium
Webtoon Canvas
api: none · audience: medium · effort: medium
locale · 8 candidates
Spanish-language audience
api: partial · audience: medium · effort: high
api: partial · audience: medium · effort: low
Brazilian dev ecosystem
api: partial · audience: medium · effort: medium
Qiita
api: full · audience: medium · effort: medium
SPEKA community blogs
api: none · audience: niche · effort: low
UA tech press columns
api: none · audience: medium · effort: medium
YouTube
api: full · audience: medium · effort: high
Zenn
api: partial · audience: niche · effort: medium
Also on the bench: 10 content types the site already produces with no wired distribution at all yet (claims ledger entry, sora gallery video, architecture map revision, benchmark run, standalone essay site, strata essay, rules stack corpus document, lcl anthology selection, freelance case study, project entry). The gap is the to-do list.
05
How it stays honest
The graph borrows the Claims Ledger culture: claims that can drift must be guarded.
- Every live edge must cite the repo files that implement it, and CI asserts those files exist. Delete the machinery and the claim fails the build.
- Every edge's tier is validated against its channel's automation ceiling, and participation edges are capped at assisted: automating community participation is ban risk, not leverage.
- The census records what it rejected, verbatim, so a silent gap can't masquerade as coverage.
The wiring behind this page is content-as-code in src/lib/distribution/. For the rest of the picture: how the site itself works, where it's going next, the broadcasts archive (the spine this graph generalizes), and the weekly open notebook.
Watch the graph light up
The weekly digest notes when planned edges go live: new channels, new pipelines, new experiments.