Back

Editorial process

How it's made.

Every issue of the newsletter and every article on the blog is approved by a human before it goes out. AI does the research, the synthesis, and the first draft; the editor does the angle, the cuts, the framing, and the final word on every sentence. Every fact in every piece links to its primary source, in the article itself. Nothing — no quote, no statistic, no community anecdote — is fabricated, ever.

Last updated 15 May 2026

On this page
  1. Newsletter
  2. Blog
  3. Long-form articles
  4. The newsroom
  5. The sources
  6. What we don't do

The weekly newsletter

Seven stages, ~60 seconds end-to-end. No issue ships without a human approving the draft.

7 stages

From RSS feed to inbox

  1. Fetch the news

    RSS · no LLM

    RSS feeds from TechCrunch, The Verge, VentureBeat, HN + Swiss outlets (Netzwoche, IT-Markt, Startwerk, Technikblog).

  2. Compose the issue

    Claude Opus 4.7

    Picks the deep dive + 3 top stories + 5 industry-snapshot bullets + 2-3 Swiss picks from the freshly-gathered pool.

  3. Fetch story thumbnails

    og:image + gpt-image-1

    og:image probe on each source URL. AI fallback for sites that block scrapers (X, paywalled Reuters).

  4. Generate cover image

    gpt-image-1

    Header cover generated in our brand aesthetic (amber palette, abstract geometric).

  5. Save draft

    Supabase · no LLM

    Persisted with an issue number. Status stays "draft" until human approval.

  6. Editorial review

    Human · /admin

    Human read-through. Edits to headlines, phrasing, attribution. Inline preview matches the final email pixel-for-pixel.

  7. Ship

    Resend · human

    Sent via Resend in batches of 50 with RFC-compliant List-Unsubscribe headers. One-click vote block in the footer.

The blog

Six stages, ~2 minutes end-to-end, strict validation at every gate. If a stage fails (unverifiable facts, corporate voice, missing source), the process aborts — no zombie drafts.

6 stages

From raw topic to published post

  1. Pick the angle

    Sonnet 4.6 · planner

    The “planner” reads ~24 fresh items and picks the one that deserves a take, anchored to one of the six column themes.

  2. Read the source

    Sonnet 4.6 · researcher

    The "researcher" pulls the source article, extracts publicly-verifiable facts, flags rumours and single-sourced claims.

  3. Stress-test the angle

    Sonnet 4.6 · critic

    The "devil's advocate" runs 8 critical lenses (operator, executive, regional reader, cynic). Returns sharpen / revise / kill.

  4. Draft the column

    Opus 4.7 · writer

    600-900 words, voice calibrated to TC × Wired × Verge × Stratechery with the Romand register. No slogans, no first-person singular.

  5. Fact-check claims

    Sonnet 4.6 · fact-check

    The "fact-checker" walks every material claim — entity, number, date, quote, attribution — and checks each one against the source material. Severity-grades anything that doesn't hold up.

  6. Revise and ship

    Editor + validation

    Editor pass on voice failures (oracle voice, hype, AI tells). Strict gates (sources linked, ≥3 subheaders). Cover image. Human review in /admin.

Long-form articles

Six stages, two to three weeks end-to-end. The brief, the source curation, and the editorial rewrite are human. The research and the drafting are AI. Nothing ships without the editor's pass.

6 stages

From brief to published essay

  1. The brief

    Human · brief

    The editor writes the research question, picks the angle in advance, and lists the source priorities the AI is required to read.

  2. AI research pass

    Claude + ChatGPT · deep research

    Claude (Anthropic) and ChatGPT (OpenAI) both run in deep-research mode against the brief. Between them they read 50–500 primary sources per piece.

  3. Editor's hand-curated layer

    Human · pre-reading

    Articles, papers, threads, and arXiv preprints saved by hand into a per-topic directory before the AI pass. The reading the machines could not have guessed.

  4. Research pack

    Synthesis · 20-30k words

    The combined output: a 20,000–30,000-word synthesis with verified facts, named sources, and open questions surfaced.

  5. Edited writing

    Editor · sentence-level rewrite

    Drafts are generated from the brief and the research pack. The editor cuts, frames, fact-checks, and rewrites at the sentence level until the prose carries the argument.

  6. Design pass

    Human + Claude · layout

    Flagship essays get a bespoke layout via Claude's design system. Standard insights pieces use the long-form template.

This same editorial muscle also produces the occasional Sunday Weekend Editions of the newsletter — a longer, single-topic format, composed the same way.

The style brief

longform_style_objective.md →

The newsroom

Romandy CTO newsroom illustration

Each process reads like a real newsroom: several LLM agents with distinct roles — pitch editor, reporter, fact-checker, copy editor — never the same person. Each agent's style book is public; click the filename at the bottom of its card to read the exact instructions we give it.

Planner — illustration

Planner

Claude Sonnet 4.6

Reads the candidate pool and picks the single subject worth a take this week. Maps it to one of the six column themes. Refuses to continue if nothing fits.

Researcher — illustration

Researcher

Claude Sonnet 4.6

Fetches the source article and extracts publicly-verifiable facts (numbers, dates, entities, direct quotes). Explicitly flags rumours and single-sourced claims.

Devil's Advocate — illustration

Devil's Advocate

Claude Sonnet 4.6

Runs eight critical lenses against the proposed angle: operator, executive, regional reader, cynic, etc. Returns a verdict: sharpen / revise / kill.

Writer — illustration

Writer

Claude Opus 4.7

600-900 words. Voice calibrated to TechCrunch × Wired × The Verge × Stratechery, then dialled back to the Romand register. No slogans, no first-person singular, no US-business cadences.

Fact-checker — illustration

Fact-checker

Claude Sonnet 4.6

Walks every material claim — named entity, number, date, quote, attribution — and checks each against the source material. Severity-grades each gap: a rounded number is minor; an invented quote or an unsourced factual claim is blocking.

Editor — illustration

Editor

Claude Sonnet 4.6

Rewrites passages with oracle-voice, hype, hollow slogans, AI tells ("delve", "crucial", "robust"). Does not touch facts.

Composer — illustration

Composer

Claude Opus 4.7

In a single call: picks the deep dive (1), top stories (3), industry-snapshot bullets (4-5), and Swiss picks (2-3). Drafts the intro, headline, preview text, closing line, and CTO insight quote.

newsletter-generator.ts

Image generator — illustration

Image generator

OpenAI gpt-image-1

Generates the header cover for every edition + every blog post in our brand aesthetic. Also serves as fallback for per-story thumbnails when the source blocks scrapers.

Validator (runtime) — illustration

Validator (runtime)

No LLM — TypeScript code

Deterministic checks before publish: ≥3 subheaders, ≥1 source link, no first-person singular, valid frontmatter, JSON schema conformant. Hard-fails if any rule trips.

blog-pipeline.mjs (validation gates)

Human editor — illustration

Human editor

Biological brain

Reads every draft in /admin with an inline preview that matches the final email pixel-for-pixel. Edits headlines, phrasing, attribution. Decides: send, revise, or scrap. Nothing auto-sends.

human judgment — no file

The sources

The weekly newsletter and automated blog drafts are composed from the public RSS feeds listed below. Long-form articles draw on those same feeds plus a deeper research layer — primary lab papers, regulatory texts, industry reports, conference keynotes, executive earnings transcripts — and on hand-picked sources the editor has saved to a dedicated topic directory. No secret sources, no clandestine scraping. If a piece cites a fact, it links to its primary source.

Newsletter — global tech

Newsletter — Swiss tech

Blog — broader pool

Long-form articles — additional sources

  • Primary researchacademic papers, lab reports, working papers, and peer-reviewed studies. Selection varies by topic — AI labs for frontier pieces, MIT / Stanford / EPFL / ETH and the research arms of consulting and financial institutions for leadership and economics pieces, medical journals for healthcare.
  • Regulatory and policy textsprimary statutory and regulatory sources relevant to the piece: EU AI Act, revised FADP, GDPR, FINMA circulars, NIST and ISO frameworks, plus sectoral guidance (health, energy, finance, defence).
  • Industry reports and benchmarksanalyst-firm reports (Gartner, IDC, McKinsey, BCG), operator-led benchmarks (DORA State of DevOps, METR evaluations, GitHub Octoverse), sectoral indices (Stanford AI Index, Swiss Venture Capital Report, EY Startup Radar), and primary industry surveys.
  • Keynotes and transcriptsvendor and platform-shaping events (SAP Sapphire, AWS re:Invent, Google Cloud Next, Sequoia AI Ascent), panels and fireside chats from sectoral conferences, and executive earnings transcripts from named public companies.
  • Editor's hand-picked layerarticles, blog posts, threads, and preprints saved by hand into a per-topic directory before the AI pass. Varies completely by piece. The layer nobody could have guessed.

What we don't do

  • Subscriber emails, names, or personal data are never used as inputs to our prompts.
  • We never invent quotes, statistics, community anecdotes, or sources. Everything links to a primary article.
  • We never pass off AI-generated content as human-written without this page as context.

Why we do it this way

Romandy CTO is a peer network run on the side of a full-time job. AI lets us ship a credible weekly memo without it becoming a part-time job. The trade-off we accept: occasional rough edges in phrasing. The trade-off we refuse: fabricated content, undisclosed AI involvement, or losing the editorial voice.

Questions or feedback on this process? Email hello@romandycto.org.