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

Eight stages, a few minutes end-to-end. No issue ships without a human approving the draft.

8 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

    GPT-5.6 Sol

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

  3. Live research

    Agents API + web search

    An agent searches the web, reads the primary sources behind the deep dive and the AI Academy, and reports facts with a URL for each.

  4. Fetch story thumbnails

    og:image + gpt-image-2.5-flare

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

  5. Generate cover image

    gpt-image-2.5-flare

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

  6. Save draft

    Supabase · no LLM

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

  7. Editorial review

    Human · /admin

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

  8. 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

Seven stages, around twenty minutes end-to-end — the model reasons at length on every pass. Strict validation at every gate: if a stage fails (unverifiable facts, corporate voice, missing source), the process aborts — no zombie drafts. And nothing ships without a human reading the draft.

7 stages

From raw topic to published post

  1. Pick the angle

    GPT-5.6 Sol · effort max

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

  2. Search the live web

    Agents API · web_search

    A research agent works the open web: it picks its own queries, follows the primary source rather than coverage of it, and returns a URL for every claim.

  3. Structure the brief

    GPT-5.6 Sol · effort high

    The "researcher" turns what the agent found into a brief — publicly-verifiable facts, rumours flagged, single-sourced claims marked as such.

  4. Stress-test the angle

    GPT-5.6 Sol · effort high

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

  5. Draft the column

    GPT-5.6 Sol · effort max

    500-1100 words, voice calibrated to TC × Wired × Verge × Stratechery with the Romand register. Four or five subheaders, three to five pull quotes. No slogans, no first-person singular.

  6. Revise and validate

    Editor + validation

    Editor pass on voice failures (oracle voice, hype, AI tells), then three repair passes and deterministic gates: complete frontmatter, sources linked, subheaders, no first-person singular. A gate that fails stops the draft.

  7. Art direction

    gpt-image-2.5-flare

    An art editor picks the moments that earn an illustration and writes the captions, then the images are generated in our visual language: the cover, two or three inline figures, and a 1200×630 share card.

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 article

  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 articles 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

GPT-5.6 Sol · effort max

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

Research agent — GPT-5.6 Sol, live web

Searches the live web, follows the primary source rather than coverage of it, and comes back with attributed facts: numbers, dates, versions, and a URL for every claim. Flags anything that does not hold up.

Devil's Advocate — illustration

Devil's Advocate

GPT-5.6 Sol · effort max

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

Writer — illustration

Writer

GPT-5.6 Sol · effort max

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

GPT-5.6 Sol · effort max

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

GPT-5.6 Sol · effort max

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

Composer — illustration

Composer

GPT-5.6 Sol · effort max

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-2.5-flare

Reads the finished piece, decides which moments earn an illustration and writes the captions, then generates: the header cover for every edition and post, two or three figures set between the sections, and a 1200×630 share card. 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 research — academic 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 texts — primary 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 benchmarks — analyst-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 transcripts — vendor 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 layer — articles, 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.