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
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
Pick the angle
Sonnet 4.6 · plannerThe “planner” reads ~24 fresh items and picks the one that deserves a take, anchored to one of the six column themes.
Read the source
Sonnet 4.6 · researcherThe "researcher" pulls the source article, extracts publicly-verifiable facts, flags rumours and single-sourced claims.
Stress-test the angle
Sonnet 4.6 · criticThe "devil's advocate" runs 8 critical lenses (operator, executive, regional reader, cynic). Returns sharpen / revise / kill.
Draft the column
Opus 4.7 · writer600-900 words, voice calibrated to TC × Wired × Verge × Stratechery with the Romand register. No slogans, no first-person singular.
Fact-check claims
Sonnet 4.6 · fact-checkThe "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.
Revise and ship
Editor + validationEditor 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
The brief
Human · briefThe editor writes the research question, picks the angle in advance, and lists the source priorities the AI is required to read.
AI research pass
Claude + ChatGPT · deep researchClaude (Anthropic) and ChatGPT (OpenAI) both run in deep-research mode against the brief. Between them they read 50–500 primary sources per piece.
Editor's hand-curated layer
Human · pre-readingArticles, 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.
Research pack
Synthesis · 20-30k wordsThe combined output: a 20,000–30,000-word synthesis with verified facts, named sources, and open questions surfaced.
Edited writing
Editor · sentence-level rewriteDrafts 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.
Design pass
Human + Claude · layoutFlagship 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

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
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
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
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
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
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
Claude Sonnet 4.6
Rewrites passages with oracle-voice, hype, hollow slogans, AI tells ("delve", "crucial", "robust"). Does not touch facts.

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
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)
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
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
- TechCrunch — techcrunch.com/feed
- The Verge — AI — theverge.com/rss/ai-artificial-intelligence
- VentureBeat — AI — venturebeat.com/category/ai/feed
- Hacker News — front page, 100+ points
Newsletter — Swiss tech
- Netzwoche — News — netzwoche.ch (DE, Swiss ICT)
- Netzwoche — Storys — long-form pieces
- IT-Markt — it-markt.ch (DE, Swiss IT business)
- Startwerk — startwerk.ch (Swiss startups)
- Technikblog — technikblog.ch (Swiss consumer tech)
Blog — broader pool
- TechCrunch
- The Verge — full feed
- WIRED
- CNET
- Mashable
- VentureBeat — full feed
- VentureBeat — AI
- The Verge — AI
- Hacker News — front page, 75+ points
- Dev.to
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.