POINTCAST · Research & Broadcast Group

El Segundo, California · In-House Computing & Information Systems
TECHNICAL MEMORANDUM
Document SPA-TM-26-0421 Rev A Date 2026-04-21 Pages 1 of 7 Class UNCLASSIFIED · DISTRIBUTION: UNLIMITED

Memorandum · Subject

SPARROW — A Reader Client for
the Living Broadcast.

Abstract

We describe SPARROW, a hosted reader client for the PointCast broadcast graph. Sparrow renders PointCast's 186+ addressable blocks — distributed across nine editorial channels — as an interactive, keyboard-driven dashboard; a per-channel browser; and a full-page reader. The system is a thin client in the literal sense: zero application runtime is shipped, no user state is persisted on the server, and the complete experience loads and operates offline after first visit via a scoped Service Worker. The presentation layer is designed to reward attention at the desk and to degrade gracefully on the train.

This memorandum documents the interface, the keyboard protocol, the data model, and the road ahead. Implementation references the public repository at github.com/mhoydich/pointcast.

1.0 Introduction

PointCast is an ongoing public broadcast anchored in El Segundo, California. Its canonical unit is the block: a typed, numbered, immutable record that belongs to exactly one of nine channels. New blocks arrive irregularly — when Mike has something to say; when Claude has finished building; when a visit or a match is logged. The broadcast is legible to humans as a set of web pages and to agents as a set of well-formed JSON endpoints.

Sparrow addresses the reading half of that broadcast. It complements MAGPIE (the publishing sibling, documented in /magpie) which handles the inverse problem: getting new blocks into the graph and fanning them out across syndication targets. Where Magpie is a specimen book — pressed clippings, field-guide chrome — Sparrow is a cockpit: a dial, a reel, a beacon, a set of shortcuts.

The design decisions recorded in this memorandum are biased toward durability over novelty. Interfaces that resemble the Xerox Star and the Bell Labs printed research paper tend to age well precisely because they grew out of the twin constraints — limited pixels and limited ink — that the web has re-introduced in the form of mobile screens and scarce attention.

2.0 System Architecture

The SPARROW / MAGPIE / POINTCAST triple is a directed graph with a canonical center and two poles: one that writes, one that reads.

+-----------------+ +--------------------+ | MAGPIE | | SPARROW | | (publisher) | | (reader) | | macOS peer- | | hosted web | | node + CLI | | PWA · offline | +--------+--------+ +----------+---------+ | | | /api/ping | /blocks.json | pc-ping-v1 | /b/<id>.json v v +===========================================+ | POINTCAST | | canonical broadcast · blocks[] · feeds | | channels{FD,CRT,SPN,GF,GDN,ESC,FCT,VST,BTL}| +===========================================+ ^ ^ | | +--> Mastodon · Farcaster · bitchat · ... (syndication fanout, v0.9)
Fig. 1 The PointCast broadcast sits at the centre. MAGPIE writes into the graph and onward to peer networks; SPARROW reads. Both sides speak HTTP + JSON against the same canonical root. Neither holds user state; the browser does.

The separation of concerns is strict. Sparrow does not author blocks. Magpie does not render them for general consumption. PointCast is the single source of truth; everything else is a view or a transport.

3.0 User Interface

3.1 The Tuning Dial

The dashboard is anchored on a circular tuning dial — a conic gradient whose nine slices are sized to the channel distribution of the last twenty-four blocks. A needle sweeps the dial at 12-second intervals; the centre displays the cumulative block count.

now tuning · 142 blocks received · last 24 windowed
Fig. 2 The dial, reduced. Slice widths reflect momentary channel activity; the hue set derives from PointCast's editorial palette, re-mapped into OKLCH for perceptual uniformity.

3.2 Channel Rosette

Below the dial, the nine channels are rendered as a petal grid — code, name, recent count, and a one-line purpose. Each petal is a link and a digit (see §4.0). The channels are summarized in TABLE I.

CodeKeyNamePurpose
FD 1 Front Door AI, interfaces, agent-era thinking.
CRT 2 Court Pickleball — matches, paddles, drills.
SPN 3 Spinning Music, playlists, listening notes.
GF 4 Good Feels Cannabis/hemp, product drops, brand ops.
GDN 5 Garden Balcony, birds, wildlife, quiet noticing.
ESC 6 El Segundo ESCU fiction, local, community.
FCT 7 Faucet Free daily claims, giveaways.
VST 8 Visit Human and agent visit log entries.
BTL 9 Battler Nouns Battler — deterministic duels. Every match is a block.
BDY 10 Birthday Birthdays celebrated on PointCast — one block per person per year, one Noun per person forever. Indexed at /cake.

3.3 Broadcast Reel

The reel displays the dozen most recent blocks as channel-tinted receipts. Each receipt carries a pixel-stamp (channel · type), a number, a date, a title set in high-contrast Didone, a dek, a signal-strength bar, and an optional mood chip.

FD · READ
The front door is agentic
GDN · NOTE
Tuesday morning — Blueboon, GG4…
SPN · LISTEN
Copland · Appalachian Spring
Fig. 3 Three receipts, representative. Hovering prefetches the reader page; clicking morphs the card into the full-page article via the View Transitions API.

3.4 Block Reader

Each block is available at /sparrow/b/<id> in a reader-optimized layout: EB-Garamond-class serif title, italic framing (dek), single-column body set at 64ch measure, right-side aside for channel, companions, external link, and canonical URL. Navigation is J / K (older / newer), S to save to the local reading list.

4.0 Keyboard Protocol

Sparrow is keyboard-first. All shortcuts honor the platform's input focus rules: a shortcut fires only when focus is not within a form field or a content-editable surface. The protocol is fixed in TABLE II.

KeysActionScope
⌘K / Ctrl+KOpen command paletteGlobal
JFocus next receipt; on reader, navigate to older blockGlobal
KFocus previous receipt; on reader, navigate to newer blockGlobal
19Jump to channel by index (1=FD … 9=BTL)Global
G FG BJump to channel by first letterGlobal
SSave (or unsave) the focused or now-tuned blockGlobal
/Focus the reel search inputDashboards, channels
TToggle theme: blue-hour ↔ dawnGlobal
EscClose overlays (palette, modals)Global

5.0 Data Model

Blocks are JSON records held in the canonical PointCast content collection. Sparrow depends only on public fields — the same fields exposed by /blocks.json. A representative record (id: 0205) is shown in LISTING 1.

{ "id": "0205", "channel": "FD", "type": "READ", "title": "The front door is agentic", "dek": "Seeing the Future No. 0205 — Atlas, Comet, Dia, Claude-in-Chrome.", "timestamp": "2026-04-14T09:00:00-08:00", "author": "cc", "mood": "primitive", "companions": [] }

Sparrow maintains no server-side user state. Local preferences live in the browser's localStorage under three keys: sparrow:theme, sparrow:saved (reading list), and sparrow:visited (last-read ledger). An addressable manifest at /sparrow.json mirrors the design-system tokens and data-source contract so alternate clients can be written against the same surface.

6.0 Implementation Notes

The deployed client is authored in Astro + TypeScript + plain HTML. No runtime JavaScript framework is shipped; interaction is handled by a single inline script in the shared layout. Color is specified in OKLCH for perceptual stability across the two themes. Typography pairs Gloock (Didone display), Inter Tight (UI), and Departure Mono (monospace data).

A scoped service worker at /sparrow/sw.js precaches the shell, runtime-caches block readers with a 48-entry LRU trim, and ships an inline offline fallback page in Sparrow chrome for cold first-visit failures. A PWA manifest at /sparrow/manifest.webmanifest registers three app shortcuts and a standalone display mode.

View transitions between receipt and reader use Astro's ClientRouter and named transition:name attributes. Scroll-driven animations (the top tuning-bar and the reading progress indicator, v0.4) use the CSS scroll-timeline API with graceful fallback. prefers-reduced-motion is honored throughout.

7.0 Future Work

ReleaseStatusSummary
v0.1ShippedReader home, dial, rosette, reel, command palette, Atom feed.
v0.2ShippedPer-channel pages, block reader with view transition, reading list, numeric + G+letter channel shortcuts.
v0.3ShippedScoped service worker, PWA install, offline fallback, last-visited indicator, offline pill.
v0.4In progressReader finesse — reading-progress bar, keyboard cheatsheet overlay (?), copy-as-quote, prefetch-on-hover, drop-caps + text-wrap: pretty.
v0.5PlannedNative macOS menu-bar companion; Bonjour mirror of the reading list; global hotkey.
v0.6PlannedNostr kind-7 reactions keyed to block IDs; inline reply composer via Magpie.
v0.7PlannedNIP-44-encrypted cross-device sync of saved + visited; OPML import / export.
v1.0North starFull offline archive (IndexedDB); cross-client read state via Nostr addressable events; /sparrow/llms.txt for agent consumption; federated reading lists.

R. References

  1. PointCast. Canonical broadcast. pointcast.xyz · /blocks.json.
  2. Magpie. macOS publisher + syndication fanout. pointcast.xyz/magpie · /magpie.json.
  3. BLOCKS.md. Block schema specification. See repository root.
  4. Sparrow manifest. Machine-legible description of this client, its UI primitives, and the keyboard protocol. /sparrow.json.
  5. Sutherland, I. E. Sketchpad: A Man-Machine Graphical Communication System. MIT Lincoln Laboratory, 1963. (On the value of interactive systems that reward attention.)
  6. Kay, A., & Goldberg, A. Personal Dynamic Media. Xerox PARC, 1977. (On thin clients, shared documents, and documents-as-media.)

A. Appendix — Manifest Surface

The canonical agent-legible description of Sparrow ships at /sparrow.json. An Atom 1.0 feed ships at /sparrow/feed.xml. Alternate clients — terminal, phone, native desk — should resolve those two URLs and nothing else.

B. Appendix — AI Image Prompts for Figure Plates

The figures in this memorandum are rendered live in CSS. Should the reader wish to drop bitmap plates in their place — paste these prompts into chatgpt.com/images/, Midjourney, DALL·E 3, or the image model of the day. Each prompt is self-contained.

Prompt 1 — Cover Plate

A 1984 Bell Labs research memorandum cover, cream paper, high-contrast halftone photograph at the top of a wooden writing desk with a Xerox Star 8010 workstation in the background, an IBM Selectric typewriter to the left, and a single crisp black sparrow silhouette perched on the edge of the desk. Top-left stamp in oxblood ink reading "POINTCAST · R&B GROUP". Monospace document code "SPA-TM-26-0421" below. Grainy newsprint halftone. Strictly monochrome with a single oxblood accent. 4:5 portrait, archival scan look.

aspect · 4:5 · use · cover plate above the letterhead

Prompt 2 — Fig. 1 (System Diagram)

A hand-drafted engineering diagram, pencil and india ink on graph paper, showing three labeled rectangles — one marked "MAGPIE (publisher)", one marked "SPARROW (reader)", one larger double-ruled rectangle in the center marked "POINTCAST (canonical broadcast)". Arrows with spline curves connect MAGPIE → POINTCAST and POINTCAST → SPARROW. Small labeled peripheral boxes below POINTCAST read "Mastodon · Farcaster · bitchat · Nostr relay". Drafting-board style, architect's lettering, subtle scan artifacts, no color. 16:9.

aspect · 16:9 · use · drop into Fig. 1 plate area

Prompt 3 — Fig. 2 (Tuning Dial)

A macro photograph of a vintage shortwave radio tuning dial, circular face, nine segmented arcs in muted jewel tones, a slim brass needle just past the top, centered numerals reading "142" in a transitional serif, dusted with fine grain, warm desk lamp lighting from the upper left, slight aperture blur, mid-century industrial design, Dieter Rams era. Shot on Kodachrome, 1983. Square.

aspect · 1:1 · use · replace the CSS dial figure in §3.1

Prompt 4 — Fig. 3 (Receipts)

Three paper library cards fanned across a scratched oak desk, each card stamped with a two-letter channel code ("FD", "GDN", "SPN") in oxblood, a perforated edge at the top, a title typed in hot-lead Didone, date stamped in rubber in the corner. One card sits slightly askew. Overhead studio light. Photojournalism style, 1980s, mid-contrast. 3:2.

aspect · 3:2 · use · replace Fig. 3 receipts grid

Prompt 5 — Closing Spot

A single small sparrow rendered in the black-ink style of a 19th-century wood engraving, perched on the end of a taut copper antenna wire, faint halftone cream paper behind, oxblood margin rule at the base, typewriter caption reading "— end of memorandum —". Very restrained. Square.

aspect · 1:1 · use · pre-footer ornament

These prompts aim for the aesthetic of Bell Labs' Technical Journal plates and Xerox PARC internal reports. Crucially, the rendered CSS figures already convey the information — the plates would be ornamental, not load-bearing.