Signal Archive · Internal Transmission

How It Was Built

The Daily Cyborg · Architecture & Origin · Est. April 2026


01 // Genesis
It Started With One Chat

The whole thing started in a single Claude conversation in April 2026. The brief was simple: build a daily newsletter website. The domain existed. GitHub existed. The content direction was forming. What was needed was a home that could handle daily publishing without recoding anything each time, had a real archive, and — critically — looked like it meant it.

The specific aesthetic ask was a nod to the Daily Prophet from Harry Potter: a broadsheet newspaper feel, but not old or parchment-y. Organic and computery. Matrix. Wires. The response to that brief became a complete Claude Code prompt used to scaffold the entire site — directory structure, config files, theme, sample posts, and deployment instructions in a single paste.

“Like if a wizard’s newspaper was printed on a neural network. Organic meets computational. Roots and wires. Ink and electricity.”

The prompt specified colors, every font by name, a CSS circuit-board SVG background texture at 5–8% opacity, and newspaper-style double-rule dividers with a faint glow. Delivery format was explicit: every file with its full path, no abbreviations, nothing left for the developer to figure out.

That first conversation also produced the page structure (homepage, archive, about, marketplace, subscribe), the _data/ads.yml approach for the Marketplace’s rotating fake cyborg-upgrade ads, and the first twelve ad copy samples — deadpan corporate voice selling neural lace, ocular upgrades, arm replacement therapy, and memory expansion modules. The Marketplace was never meant to be functional. It was always flavor text that committed to the bit.

02 // Stance
The Point of View

The Daily Cyborg is not a both-sides publication. It has a specific position: conscious, deliberate human agency in the face of technological change is the goal. The name, the tone, the aesthetic, and the automation are all in service of that stance. Every design decision — from the CRT aesthetic to the three-weight editorial structure — is downstream of that premise.

Human Weight
Agency · Ethics · Slowness
What we risk losing
Robot Weight
Acceleration · Capability · Optimism
What we might gain
Cyborg Balance
The fulcrum. Neither pole. Both truths. Not a split-the-difference compromise — a genuinely held position that takes both weights seriously and anchors in cultivated human agency. More demanding than either pole because it refuses easy resolution.
03 // Infrastructure
Jekyll on GitHub Pages

The site runs on Jekyll, a static site generator, deployed via GitHub Pages at thedailycyborg.com. Every post is a markdown file in _posts/. Jekyll builds the HTML at deploy time — no server, no database, no CMS. The CNAME file ties the GitHub Pages deployment to the custom domain.

Posts use YAML front matter to carry metadata: layout, title, issue (a sequential integer shared across all editions), date, image, excerpt, and tags. The templates read these fields to render the masthead, issue label, themes line, and hero image — none of that content lives in the post body.

Daily Publish Workflow
01. Claude scheduled task fires at 1:50am
02. Task writes _posts/YYYY-MM-DD-slug.md to the repo
03. GitHub detects the push → Jekyll build triggers
04. Site live at thedailycyborg.com within ~60 seconds
05. No human action required
04 // Aesthetic
Design Handoff → v1 Muted Phosphor

The visual language was not improvised in code — it was designed first, then handed off. A formal design handoff was produced (preserved in design_handoff_extracted/design_handoff_v1_muted_phosphor/) containing the full design system: palette, typography, CSS variable naming, spacing rules, and component layouts.

That handoff was imported into the Jekyll site. The design system has a name — v1 Muted Phosphor — and the reference files (shared.jsx, v1-muted-phosphor.jsx, v1-preview.html) served as the source of truth during implementation. The aesthetic is deliberately worn and low-fidelity: a técnicos-precise broadsheet printed on ancient hardware.

#070b07
BG Primary
#7ec87e
Phosphor
#3d6b3d
BG Noise
#c8913a
Amber Accent
#0c110c
Card BG
Typography Stack
MASTHEAD UnifrakturMaguntia — newspaper blackletter with a digital edge
HEADLINES Courier Prime — monospaced, terminal-feeling
BODY     Lora — readable serif for article prose
LABELS   VT323 — retro bitmap for dates, issue numbers, section markers
MONO     Share Tech Mono — secondary code and terminal context
05 // Visuals
Hero Images: A Custom Gemini App

Each post displays a unique hero image representing the edition’s themes. Claude doesn’t generate images natively, so a separate tool was needed — and rather than hand-prompting each image individually (unsustainable at volume), a dedicated Gemini-powered web app was built: The Daily Cyborg’s Digital Administrative Assistant.

The app runs as a local React/TypeScript app (Vite) against the Gemini API, scaffolded in Google AI Studio. The input is a CSV file of keywords — topics drawn from the publication’s themes — uploaded to a queue and processed in bulk.

The Daily Cyborg Digital Administrative Assistant — Gemini app interface
The Daily Cyborg’s Digital Administrative Assistant — v3.1-Flash · Gemini-powered prompt pipeline

The workflow is a two-step pipeline:

Step 01 — Prompt Engineering
Text model optimizes the prompt
A Gemini text model (gemini-3-flash-preview) transforms a raw topic keyword into a fully-specified image prompt tuned to the Phosphor brand aesthetic. The system instruction is the brand guide verbatim. Output format: [CONCEPT_PROMPT]: ...
Step 02 — Image Synthesis
“Synthesize Nano Banana”
A Gemini image model (gemini-2.5-flash-image) renders the optimized prompt at 1:1 aspect ratio and downloads it to disk, named with a topic slug and hex timestamp (e.g. cyborg_AI_governance_0xD5BA.png). The generation button is labeled “Synthesize Nano Banana” — an internal joke that stuck. A 3-second cooldown between requests prevents rate-limit errors on long batches.
Phosphor Brand Spec
FRAME     Old CRT monitor · barrel distortion · horizontal scanlines · corner vignette
PALETTE   #050F05 bg · #7EC87E phosphor · #3D6B3D noise · #C8913A amber accent
STRUCTURE Katakana clusters · binary fragments (01010110) · ASCII terminal symbols
LANGUAGE  No readable English · symbolic and Katakana only
MOOD      Quiet · contemplative · slightly melancholic · “human as data”
SPACE     Minimalist · high negative space

There are currently 84 registered images in the pool, each tagged by topic and tracked in _data/images.json. A rotation algorithm checks the 10 most recently published posts and excludes those dates from the selection pool, preventing repeats in back-to-back editions.

AI Governance
Neo-Luddism
AI Literacy
Half Machine Half Man
Thinking With The Machine
Deep Attention
The Machine Remembers
Agentic AI
Minority Report
A Candle
Emotional Intelligence
Workforce Disruption
A sample from the 84-image archive — each generated via the two-step Gemini pipeline from a CSV keyword
06 // Automation
The Three Scheduled Tasks

The automation runs entirely through Claude’s scheduled task system — three separate tasks, each with a SKILL.md prompt file that Claude executes on a timer. No human intervention required on a normal publishing day.

Mon–Thu · 1:50am EST
Daily Newsletter
Loads the used-stories list → checks the Hopper → selects a hero image → searches the web for 30 candidate articles → curates 9 across the three editorial weights → verifies every link with a live fetch → writes the complete post to _posts/ → updates used-stories.json and images.json. The Human Editorial is Jason’s section (verbatim from the Hopper if queued, or scaffolding bullets otherwise). The Robot Editorial is Claude’s — one confident, unhedged paragraph in the voice of the tech accelerationist.
Friday · 1:50am EST
Weekend Edition
Same editorial structure as the weekday edition, plus four additional curated sections — Film & Television, Digital Tools, Podcasts, and Books — stored entirely in YAML front matter and rendered by _layouts/weekend.html. Checks four additional Hopper queues for pre-queued picks. Logs all movie/app/book selections to .weekend-picks.json to prevent repeats across future editions.
Sunday · 2:07am EST
Weekly Editorial Archive
Runs _scripts/compile_editorials.py to rebuild archives/editorials.md from scratch — scanning every post, extracting the Human Editorial section, stripping scaffolding lines, and writing results newest-first. A standalone record of Jason’s own voice across the publication’s entire run.
07 // Content Queue
The Hopper

The hopper is a pre-publish queue for content Jason wants to guarantee appears in a future edition. It’s backed by an Obsidian vault (_hopper/ with .obsidian/ config) so Jason can write and clip in Obsidian, then drop files into the appropriate folder. The scheduled task checks the hopper before searching the web and always prioritizes it.

_hopper/articles/
URLs or Obsidian-clipped articles. Checked against the paywall blacklist and used-stories list before use.
_hopper/editorials/
Jason’s written editorials. Dropped verbatim into the Human Editorial slot. His voice, his punctuation — untouched.
_hopper/paired/
URL + Jason’s commentary. The commentary becomes the curator note, preserving his voice.
_hopper/film-tv/
Weekend Edition: pre-queued film and TV recommendations.
_hopper/books/
Weekend Edition: book picks with optional notes.
_hopper/tools/
Weekend Edition: apps and tools worth a cyborg’s attention.

After any hopper file is used, it moves to _hopper/archive/ with today’s date prepended. A hidden HTML comment at the bottom of every published post records what was used and which section it filled — invisible on the page, visible in the source.

08 // Discovery
Site Search

The archive page (/archive/) doubles as a full-content search interface. Jekyll generates search.json at build time — a flat array containing every post’s title, URL, date, issue number, excerpt, full stripped content, and tags. The page fetches this on load and filters it client-side on every keystroke, matching against all four fields simultaneously. No server, no search API. Entirely static.

09 // Override
Holiday Mode
🏖 Currently Active
When on, the Human Editorial is replaced with a single fixed line: “The human is taking some human time away from writing. He will be back soon!” In the Weekend Edition, Jason’s movie one-liner is also replaced with a holiday stand-in. Everything else — article search, curation, Robot Editorial, bonus sections, file-saving, image rotation — runs exactly as normal.

The override lives as a single block at the top of each SKILL.md prompt. Removing that block when Jason returns is the only change needed — nothing in the templates or downstream code is affected.

10 // Feature
The Singularity Tracker

A standalone feature at /singularity-tracker/ pulls live probability data from Manifold Markets, Metaculus, and Kalshi on AGI arrival dates, alongside curated static entries from Kurzweil, Dario Amodei, and others. It uses manual fallback values for markets where live API access is blocked by CORS, cached for two hours in localStorage. Implemented in assets/js/singularity-tracker.js.

11 // Reference
Full Stack at a Glance
LayerWhat It Is
Content storeJekyll _posts/ — one .md file per edition
Build & hostingGitHub Pages, custom domain via CNAME
Design systemv1 Muted Phosphor, derived from a Claude design handoff
Hero images84 phosphor-style images generated in a custom Gemini app, rotated via _data/images.json
Automation3 Claude scheduled tasks (Mon–Thu daily, Friday weekend edition, Sunday archive rebuild)
Content queueObsidian-backed hopper at _hopper/ — 8 sub-queues
Deduplication_data/used-stories.json (cumulative URL history) + .paywalled-publications.json
Site searchClient-side against search.json (Jekyll-generated at build time)
Editorial archivearchives/editorials.md, rebuilt weekly by Python script
Weekend log_posts/.weekend-picks.json — prevents duplicate movie/app/book picks
Signal Archive · Internal Transmission · thedailycyborg.com
Not indexed · Not linked · Just for cyborgs who ask