POINTCAST · Research & Broadcast Group
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.
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.
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.
| Code | Key | Name | Purpose |
|---|---|---|---|
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.
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.
| Keys | Action | Scope |
|---|---|---|
⌘K / Ctrl+K | Open command palette | Global |
J | Focus next receipt; on reader, navigate to older block | Global |
K | Focus previous receipt; on reader, navigate to newer block | Global |
1…9 | Jump to channel by index (1=FD … 9=BTL) | Global |
G F…G B | Jump to channel by first letter | Global |
S | Save (or unsave) the focused or now-tuned block | Global |
/ | Focus the reel search input | Dashboards, channels |
T | Toggle theme: blue-hour ↔ dawn | Global |
Esc | Close 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.
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
| Release | Status | Summary |
|---|---|---|
| v0.1 | Shipped | Reader home, dial, rosette, reel, command palette, Atom feed. |
| v0.2 | Shipped | Per-channel pages, block reader with view transition, reading list, numeric + G+letter channel shortcuts. |
| v0.3 | Shipped | Scoped service worker, PWA install, offline fallback, last-visited indicator, offline pill. |
| v0.4 | In progress | Reader finesse — reading-progress bar, keyboard cheatsheet overlay (?), copy-as-quote, prefetch-on-hover, drop-caps + text-wrap: pretty. |
| v0.5 | Planned | Native macOS menu-bar companion; Bonjour mirror of the reading list; global hotkey. |
| v0.6 | Planned | Nostr kind-7 reactions keyed to block IDs; inline reply composer via Magpie. |
| v0.7 | Planned | NIP-44-encrypted cross-device sync of saved + visited; OPML import / export. |
| v1.0 | North star | Full offline archive (IndexedDB); cross-client read state via Nostr addressable events; /sparrow/llms.txt for agent consumption; federated reading lists. |
R. References
- PointCast. Canonical broadcast. pointcast.xyz · /blocks.json.
- Magpie. macOS publisher + syndication fanout. pointcast.xyz/magpie · /magpie.json.
- BLOCKS.md. Block schema specification. See repository root.
- Sparrow manifest. Machine-legible description of this client, its UI primitives, and the keyboard protocol. /sparrow.json.
- Sutherland, I. E. Sketchpad: A Man-Machine Graphical Communication System. MIT Lincoln Laboratory, 1963. (On the value of interactive systems that reward attention.)
- 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.
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.
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.
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.
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.
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.