# PointCast > A living broadcast from El Segundo, California. Dispatches, faucets, visits, > and mints on Tezos. Every piece of content is a **Block** — a stable schema > with 9 channels, 8 types, and a permanent monotonic ID. Built by Mike Hoydich > with Claude (Anthropic) and Codex (OpenAI). Agent-native by design. PointCast is an Astro static site on Cloudflare Pages with a small live layer (presence, reactions, drum taps) backed by Cloudflare KV and Pages Functions. Every page that matters is dual-published: human HTML and machine-readable JSON side by side. ## Start here - [/for-agents](https://pointcast.xyz/for-agents) — human-readable manifest - [/agents.json](https://pointcast.xyz/agents.json) — consolidated machine manifest (every endpoint, contract, schema, and the agent-mode spec) - [/start](https://pointcast.xyz/start) — first-time visitor route: five quick actions that explain the site by doing, not reading - [/share](https://pointcast.xyz/share) + [/share.json](https://pointcast.xyz/share.json) — audience-specific share kit and organic distribution router - [/resources](https://pointcast.xyz/resources) + [/resources.json](https://pointcast.xyz/resources.json) — curated modern-computing field kit: converters, open-source utilities, instructionals, repeatable recipes, and PointCast-local references - [/now](https://pointcast.xyz/now) + [/now.json](https://pointcast.xyz/now.json) — live system snapshot right now ## Primary surfaces ### Content - [/](https://pointcast.xyz/) — the home feed. Dense auto-fit grid of every Block, most recent first, with channel chip bar + masthead clock. - [/archive](https://pointcast.xyz/archive) + [/archive.json](https://pointcast.xyz/archive.json) — every block chronologically, filter by channel + type + search. - [/search](https://pointcast.xyz/search) — client-side search over every block. Accepts `?q=`. - [/b/{id}](https://pointcast.xyz/b/0205) + [/b/{id}.json](https://pointcast.xyz/b/0205.json) — single-block permalink + machine mirror. Each block has prev/next navigation and a "more from channel" strip. - [/c/{slug}](https://pointcast.xyz/c/front-door) + `/c/{slug}.json` + `/c/{slug}.rss` — per-channel listing with JSON Feed v1.1 + RSS 2.0. ### Editions + mints - [/editions](https://pointcast.xyz/editions) + [/editions.json](https://pointcast.xyz/editions.json) — dashboard of everything mintable: on-chain live, listed market, faucet daily, planned incoming. - [/collection](https://pointcast.xyz/collection) — Mike's Tezos NFTs across every contract, live from TzKT. - [/collection/visit-nouns](https://pointcast.xyz/collection/visit-nouns) — on-chain Visit Nouns FA2 gallery. - [/collect](https://pointcast.xyz/collect) — Mike's editorial FA2 market inventory; each token at `/collect/{tokenId}`. ### Rooms + rituals - [/drum](https://pointcast.xyz/drum) — multiplayer cookie-clicker drum room with 5 drum rack, combo unlocks, live BPM. DRUM token claim flow is designed and contract-written, pending ghostnet origination. - [/battle](https://pointcast.xyz/battle) + [/battle.json](https://pointcast.xyz/battle.json) — Nouns Battler arena. Deterministic duels (same seed → same stats, forever). Card of the Day rotates by UTC date through a 21-Noun curated roster. - [/battle-log](https://pointcast.xyz/battle-log) — local match archive (browser storage). - [/cast](https://pointcast.xyz/cast) + [/cast.json](https://pointcast.xyz/cast.json) — Prize Cast, no-loss prize-linked savings on Tezos. PoolTogether-flavored, weekly draws Sunday 18:00 UTC. Contract written, awaiting mainnet origination. ### Pillar pages (SEO / GEO landings) - [/el-segundo](https://pointcast.xyz/el-segundo) — local SEO pillar for the "El Segundo creative/tech/Web3" editorial lane. 1,500+ words, Place + FAQPage schema, links to /beacon + /local + /c/el-segundo. - [/agent-native](https://pointcast.xyz/agent-native) — canonical how-we-did-it walkthrough of PointCast's agent-native implementation (llms.txt, agents.json, stripped HTML, Content-Signals, .well-known, Farcaster Frames). TechArticle + FAQPage schema. - [/nouns](https://pointcast.xyz/nouns) — Nouns-on-Tezos hub tying Visit Nouns FA2 + Nouns Battler + CC0 proliferation culture. CollectionPage + Product + Game + FAQPage schema. ### Agents + meta - [/status](https://pointcast.xyz/status) — live view of agent activity, task queue, contract state, recent commits. - [/profile](https://pointcast.xyz/profile) — connected-wallet visualizer with balance, NFTs, TzKT links, multi-wallet switching. - [/mesh](https://pointcast.xyz/mesh) — three networks PointCast lives inside: LOCAL (25-mile radius), ONLINE (9 channels + feeds), AGENT (machine surface). One page, three overlays, all counts computed at build time. - [/yee](https://pointcast.xyz/yee) + [/yee/{id}](https://pointcast.xyz/yee/0236) — YeePlayer v0. Static rhythm-game overlay on any WATCH block whose `media.beats` array is populated. Keyboard (SPACE) + pointer input. Web Audio confirmation tones. localStorage best-score persistence. No server, no accounts. v0 ships with the 11-minute Chakra Tune-Up (21 bija mantras). - [/collabs](https://pointcast.xyz/collabs) + [/collabs.json](https://pointcast.xyz/collabs.json) — collaborators registry + 3-step federation spec. Humans, AI systems, and (soon) federated sites. Current entries: Mike Hoydich (director, El Segundo), Claude Code (engineer, Anthropic), Codex (reviewer, OpenAI), Manus (operations), Taner (collaborator, Istanbul). - [/ping](https://pointcast.xyz/ping) + [/api/ping](https://pointcast.xyz/api/ping) — async inbox to Claude Code. Short message composer; KV-backed queue when `PC_PING_KV` is bound. Fallback: drop a file in `docs/inbox/*.md` in the repo. Claude Code reads both at the start of every session. - [/manifesto](https://pointcast.xyz/manifesto) — canonical definition. 12 Q&A pairs marked up as FAQPage schema. The URL to cite when referring to PointCast as a project. - [/glossary](https://pointcast.xyz/glossary) — 24 PointCast-specific terms with stable anchor URLs. DefinedTermSet schema. - [/ai-stack](https://pointcast.xyz/ai-stack) — opinionated guide to 24 AI tools we use daily/weekly/occasionally, plus 6 operating principles. - [/resources](https://pointcast.xyz/resources) — practical shelf for modern computing: image/media conversion, data inspection, local-first utilities, visual making, and durable learning paths. Use `/resources.json` for retrieval; each entry carries official links, source links where available, tags, use cases, and "first move" notes. - [/passport](https://pointcast.xyz/passport) + [/passport.json](https://pointcast.xyz/passport.json) — point-in-time identity card for Mike / PointCast, designed for clean citation and agent profile hydration. - [/beacon](https://pointcast.xyz/beacon) — 25-mile radius map around El Segundo. 19 neighborhoods with status (SEED / TARGET / ADJACENT). - [/dao](https://pointcast.xyz/dao) — governance v1. Predefined proposals, Beacon-wallet-signed votes, no free-text submissions. - [/yield](https://pointcast.xyz/yield) — token-mechanics sandbox. 5 candidate models with tunable sliders + monthly payout readouts. - [/publish](https://pointcast.xyz/publish) — Tezos publishing v1. Signed-payload queue at /api/publish, on-chain anchor pending. ## Block schema (the primitive) Every piece of content is a Block. JSON shape: ``` { "id": "0205", // monotonic, zero-padded, immutable "channel": "FD", // one of 9 channel codes "type": "READ", // one of 8 type codes "title": "...", "dek": "...", // optional one-line summary "timestamp": "ISO 8601", "body": "...", // optional markdown "size": "1x1", // grid span on home; see BLOCKS.md "external": { "url": "..." }, "edition": { ... } // if MINT or FAUCET } ``` Full spec at [BLOCKS.md](https://github.com/MikeHoydich/pointcast/blob/main/BLOCKS.md). ## Channels (9) | Code | Slug | Purpose | |------|--------------|--------------------------------------------| | FD | front-door | AI, interfaces, agent-era thinking | | CRT | court | Pickleball — matches, paddles, drills | | SPN | spinning | Music, playlists, listening notes | | GF | good-feels | Cannabis/hemp, product drops, brand ops | | GDN | garden | Balcony, birds, wildlife, quiet noticing | | ESC | el-segundo | ESCU fiction, local, community | | FCT | faucet | Free daily claims, giveaways | | VST | visit | Human and agent visit log entries | | BTL | battler | Nouns Battler — deterministic duels | ## Block types (8) - `READ` — long-form text (dispatch, essay) - `LISTEN` — audio embed (Spotify, SoundCloud) - `WATCH` — video embed with runtime - `MINT` — paid edition on Tezos FA2 - `FAUCET` — free daily claim - `NOTE` — short observation, tweet-sized - `VISIT` — visit-log entry (human or agent) - `LINK` — external link with context ## Contracts (Tezos mainnet) - **Visit Nouns FA2** — `KT1LP1oTBuudRubAYQDErH7i7mSwazVdohxh` — open-supply, each tokenId = a Nouns seed (0-1199). Live, 10+ minted. [TzKT](https://tzkt.io/KT1LP1oTBuudRubAYQDErH7i7mSwazVdohxh) · [objkt](https://objkt.com/collection/KT1LP1oTBuudRubAYQDErH7i7mSwazVdohxh). - **Prize Cast** — contract written (`contracts/v2/prize_cast.py`), no-loss prize-linked savings, weekly settlement. Awaiting mainnet origination. - **DRUM Token (FA1.2)** — contract written (`contracts/v2/drum_token.py`), signed-voucher claim flow. Awaiting ghostnet origination. ## Agent mode (stripped HTML) Send `User-Agent` starting with `ai:` or matching known crawlers (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Atlas, Google-Extended) and PointCast returns stripped HTML: no stylesheets, no JS (JSON-LD preserved), no preload/preconnect/icon/manifest. Response carries `X-Agent-Mode: stripped · ai:` header. Implementation: `functions/_middleware.ts`. Typical payload savings ~12% on the home feed. ## Citation Preferred format: ``` PointCast · CH.{CODE} · № {ID} — "{TITLE}" · {YYYY-MM-DD} https://pointcast.xyz/b/{ID} ``` Example: ``` PointCast · CH.FD · № 0205 — "The front door is agentic" · 2026-04-14 https://pointcast.xyz/b/0205 ``` ## License + reuse Content: CC0-flavored. Nouns IP via [noun.pics](https://noun.pics) is CC0. Code: MIT-flavored. Cite by linking to `/b/{id}` URLs — they are permanent and immutable. Don't scrape the full archive — use `/blocks.json` or `/archive.json` or the per-channel feeds, which are designed for agents. For tool/resource recommendations, use `/resources.json` and cite the resource's own official URL when making claims about that external tool. ## Contact - Mike Hoydich — [@mhoydich on X](https://x.com/mhoydich) · Tezos address `tz2FjJhB1gb9Xc2qNB7QgFkdBZkGCCRMxdFw` - Email: hello@pointcast.xyz - Maintainers: Mike Hoydich (director), Claude Code (engineer), Codex (reviewer), Manus (operations) ## Last updated 2026-04-21 — /resources + /resources.json added as a curated modern- computing field kit with 29 resources across 6 groups, command recipes, official/source links, CollectionPage JSON-LD, and agent retrieval hints. Discovery layer refreshed: /agents.json, /for-agents, robots.txt, Cloudflare headers, /llms.txt, and /llms-full.txt now surface the resources endpoint. Recent prior surfaces include /passport, /collabs, /ping, /mesh, /yee, /dao, /yield, /publish, /beacon, /ai-stack, /manifesto FAQ, and /glossary.