Skip to content
Episode 42 47 minutes

Newsletters at Scale with Sebastien Lorber

Key Takeaways from our conversation with Sébastien Lorber

Sébastien Lorber

Creator of This Week in React, Docusaurus maintainer at Meta, independent React consultant

Señors @ Scale host Neciu Dan sits down with Sébastien Lorber, creator of This Week in React and a maintainer of Docusaurus at Meta. Sébastien has worked with React since late 2013 and spent years as an independent consultant before a French-language side project aimed at landing audit work turned into the newsletter 45,000 developers open every week. From the exhaustive weekly workflow across 2,000 X profiles and 500-plus RSS feeds, to the Gmail size limit that quietly decides what makes each issue, to why French sponsors could never make it sustainable, to why he checks React's feature flags before telling anyone a feature has shipped, this is the unglamorous operational reality behind one of the biggest newsletters in the React ecosystem.

🎧 New Señors @ Scale Episode

This week, I spoke with Sébastien Lorber, the creator of This Week in React and one of the maintainers of Docusaurus at Meta. Sébastien has been working with React since late 2013 and spent years as an independent expert helping teams of all sizes ship better React and React Native. Six years ago he started a newsletter in French, hoping it would bring him higher-level consulting work. It never did that — but it became the thing over 45,000 developers open every Wednesday, and eventually his living.

In this episode, we dig into the weekly curation workflow that eats three days, the Gmail size limit that decides what makes the cut, why French sponsors could never make the numbers work, what paid acquisition on X actually cost him, why he checks React's internal feature flags before announcing anything, and why trusted publishing on npm made him feel less safe rather than more.

⚙️ Main Takeaways

1. The newsletter was a lead magnet that failed at being a lead magnet

The origin is a freelancer trying to move up the value chain, and the plan not working out.

  • The actual goal: As a freelancer with early React experience, he wanted to attract better customers — "high-level consulting gigs like audits and things like that," rather than pure execution work. He was posting on LinkedIn every day, and readers suggested he collect the links into a newsletter.
  • Why it never mattered: "The newsletter didn't really help me to achieve this goal because I started working for Meta at this time on the Docusaurus." He's still on that project today.
  • Why he kept going anyway: It solved a pain he felt himself. "There's a ton of articles for React beginners. But if you are a bit more senior, it's hard to find interesting content. And you have to skim over a lot of interesting links to find one that is really something novel that you have never seen."
  • The sustainability math: For years it was half his time on Docusaurus and half on the newsletter. "Spending more than two days on the newsletter per week is not sustainable if you don't make any money from it. It's better to have a full-time job, you know."

2. The French version had an audience ceiling and a sponsor ceiling

The pivot to English wasn't about reach for its own sake — it was about who would pay.

  • A fast start, then a stall: He converted his existing French audience and got around 1,000 subscribers in the first day or week, then crawled from 1,000 to 3,000 over one or two years.
  • The money problem: The only sponsors he could find were French companies hiring developers, against a small audience. "A company in French is less likely to pay you than a company in the USA that is like trying to hyperscale the company or something like that. They don't have exactly the same budget."
  • The six-month runway: Two years in, he started posting the same links as threads on X, where he had no audience beyond a few open source contributors he'd worked with. He did that for more than six months purely to collect English subscribers before launching anything.
  • The launch: The English version started with roughly 4,000 English subscribers on top of the 3,000 French ones.
  • Running both nearly killed him: He segmented the list, translated the English email to French every week, and tried to sell different sponsors per language. "It was really painful to manage having different sponsors per language." He dropped the French edition.

3. Exhaustive curation is the product — and it costs three days a week

Most newsletters cap the format. He deliberately doesn't.

  • The anti-format: "Most newsletters have a predefined format and like they don't share more than 10 links or something like that and this is not what I do." If nothing is interesting that week, he includes less; if everything is, he covers everything.
  • The promise: Coverage is shallow by necessity — one comment per link — but nothing relevant gets discarded. "If you read the newsletter, the goal is that you can count on us to not miss anything important."
  • What it grew into: It started at half a day and around five links per week. "Now if we count everything, including managing sponsors, I think it takes like three days a week."

4. The workflow: a 2,000-profile X list, then 500+ RSS feeds

This is the part nobody sees, and it's mechanical on purpose.

  • The X pass: He keeps a curated list of around 2,000 X profiles built up over time, filters it for tweets above an engagement threshold, and scrolls seven consecutive days of the chronological list until he hits last week's tweets, then stops. "It's an exhaustive process. I just follow the process."
  • Discovery on the side: He watches algorithmic recommendations for authors he's never heard of, then subscribes to their GitHub projects or adds their blog's RSS feed.
  • The RSS pass: More than 500 feeds in InnoReader, including things unrelated to React — Firefox releases, browser news.
  • Feeds where none exist: He uses a tool that generates web feeds from pages without RSS, and points it at GitHub. "On InnoReader, I am able, for example, to subscribe to new pull requests from the React core team across various repositories to check what they are working on." That's his real-time sneak peek at the next release.
  • Tooling he never built: He'd like a dashboard, but "when I send the newsletter on Wednesday I've already spent like two or three days on it and I don't have time left to build anything." Sponsor management runs on Sponsy — automated reminders, collected ad copy and banner images — which replaced chasing four sponsors a week for assets over email.

5. Gmail's truncation limit is the real editor

A hard technical constraint decides what ships each week.

  • The limit: Past roughly 100KB, Gmail truncates the email and shows a "read more" button that "opens a shitty pop-up window that creates a really bad user experience" and loses your scroll position.
  • It corrupts the stats too: Truncation can cut off the tracking pixel, so open rates come back wrong.
  • How he stays under it: His email software warns him as he approaches the threshold, and after six years he has an intuition for how many links fit.
  • What gets postponed: Time-sensitive links win. "Sometimes I find a great article that was published like three weeks ago. If I postpone it to next week, it's not a big deal."
  • Deliberate variety: If one author publishes five articles in a week, he spreads them across weeks, and he balances stacks on purpose. "If you use Next.js and only see TanStack articles, maybe you are less interested because you don't use that stack."

6. Merged is not shipped — check the React feature flags

The accuracy discipline behind covering a project you also work near.

  • Wait for the merge: When in doubt he waits, because "there's a lot of interesting drafts that never are merged."
  • Merged still isn't enough: "There are a lot of flags on the React code base. So I usually check the flags to see in which version this is." Some features only ever run internally at Meta.
  • The context selectors example: A pull request landed roughly two years ago behind a Meta-specific flag, was tested internally, and then reverted — the team decided the React compiler was the better answer. Announcing it as coming to React "is not really true."
  • Why he cares: Getting it wrong would "give false hopes" to a community that has wanted that feature for years.
  • The friendship tax: Mostly he finds the pull requests himself rather than maintainers bringing him news, and he needs to post for acquisition. "Sometimes I post things that maybe they don't like because this is not ready to share for them." He hears about it privately when his framing is off.

7. Growth has stopped, and he's made peace with it

A rare piece of honesty about a newsletter that isn't going up and to the right.

  • The number: Stable at around 40,000 after cleaning cold subscribers, with roughly a 60% open rate. It's slowly decreasing.
  • Why: A two-year-old daughter and a house-building project, and no appetite left for the platform game. "It was funny in the beginning, but now I don't like to play the game of social networks anymore... I don't want this to become my full-time job."
  • The channel decayed too: Threads with a call to action used to work. "Now today when I post a link, it doesn't perform that much" — the algorithm penalizes links.
  • The reframe on unsubscribes: "You should consider not your subscribers like something your own, more like a stream. You get subscribers coming and you get subscribers out and that's life." He unsubscribes from newsletters he likes, usually because he's moved to their RSS feed — not because the content got worse.

8. Paid acquisition works, and X ads cost him more than money

Four years of running ads, with a side effect he didn't expect.

  • The spend: Between €2 and €3 per subscriber, roughly €10,000 a year, currently on Facebook and Instagram, plus some Reddit.
  • Why X ads worked: They converted people who already read his threads but had never subscribed — an audience whose trust he'd earned over time.
  • Why he stopped: Costs rose sharply after the ownership change, and "a lot of people that I respected blocked me because of that, because they disliked the idea of someone giving money to Elon Musk." Being blocked broke his own curation — he had to create a second profile to read conversations he needed for the newsletter.
  • Channel quality is a guess: "My tooling doesn't permit me to really analyze this in depth." His intuition is that X and Reddit subscribers stick better than Instagram ones, but he sees Instagram subscribers stay too.
  • A strategy he'd try next: Stop bolting a call to action onto organic posts, since links get penalized. Publish the valuable content clean, and let a separate ad do the converting later, once people recognize your name.

9. Sell to companies that already sponsor newsletters

The cold-start problem in sponsorships, and how he works around it.

  • Engineers read you; marketing doesn't know you: Readers at a company like Sentry are engineers, but the marketing team holding the budget has never heard of you, so someone has to make the introduction.
  • Don't try to be the first: "If a sponsor has never sponsored any newsletter, it's hard to convince them for your newsletter to be the first they sponsor." Instead, look at who sponsors comparable newsletters — those companies have budget, try everyone, and keep whoever performs.
  • He turns sponsors down: Fit matters more than filling the slot. He got banned from the Paved marketplace over his first sponsor there, a corporate B2B product whose link pulled around ten clicks. "It's not my fault if their product is something hard to sell to front-end developers."
  • Expectations vary wildly: Some sponsors understand branding takes repeated exposure; others are disappointed by a low click count on an expensive B2B product nobody buys from one email.

10. Click counts are the most misleading number in the business

He doesn't share stats by default, and he has good reasons.

  • Truncation skews opens: A cut-off email breaks the tracking pixel, so the open rate reads low.
  • Apple inflates clicks: Automated link handling adds clicks no human made.
  • Corporate security scanners are worse: Some company mail systems auto-click links as a safety check. "There was one company that got a lot of clicks in our email tool. But in practice, it was automated."
  • UTM parameters make it worse, not better: "I've noticed that this kind of security protections target those links in priority." The tracking you add to measure the campaign is exactly what the scanners hit.

11. Disclose sponsorship clearly, and don't build a clickbait machine

His editorial line, stated plainly.

  • Disclosure is required, and he goes further: He marks sponsored links with an emoji up front. Some newsletters put "sponsored" small, or after the link text, or behind an asterisk — technically disclosed. "I think it's a bit of a dark pattern because you are misleading the reader to read something sponsored while they wanted to skip it."
  • Reformat the clickbait: When a linked article or video has a clickbait title, he rewrites the framing so readers aren't disappointed on arrival.
  • The email should stand alone: "I'm not trying to maximize the amount of click. I try to make the email self-sufficient." He inlines the meaningful bits so an issue is worth reading even if you never click.

12. React Server Components as primitives, not as the Next.js model

His read on the ecosystem, from someone who watches all of it every week.

  • He likes RSC: The pushback he sees is mostly against one implementation. "It's easy to think that the only way to use the React server component is how Next.js is using them. And we can see now with TanStack that it's not really the case and you can use them as primitives."
  • Room for both: Opinionated versions and flexible versions can coexist, and the community benefits from seeing more than one model.
  • The feature he's been waiting for: React's scheduling work and the new Activity component. "It's something that I've been waiting for years and we are still not really leveraging it today as much as we could."
  • What RSC unlocks for Docusaurus: Interleaving server and client code inside a static site generator, smaller documentation bundles, and better composition. Today the plugin architecture keeps blog and docs isolated — you can't surface your latest blog posts inside your docs. He plans to work on it this year.

13. Trusted publishing is not the safety net it sounds like

Recorded the same day as the TanStack compromise, so this one was fresh.

  • What he shipped: He tightened the security pipeline in the latest Docusaurus release and started using trusted publishing.
  • The catch: "This is a bit misleading because you can think that something trusted is safe, but it's not the case. If my computer is compromised and someone is able to trigger the publish workflow or commit on my behalf, they can publish something malicious to Docusaurus even if there is the trusted publishing checkmark."
  • The defaults are wrong: "I think npm should change the default. And GitHub Actions also has something to do because we can see today with TanStack that there are some things, some defaults that are not correct."
  • Why Docusaurus may be a smaller target: Plenty of npm downloads, but the users are spread across Python, Java, and non-developer communities rather than concentrated in front end.
  • The attack pattern to know: Fake recruiters send a candidate an npm test project; a yarn install is all it takes. "Of course it's better to target maintainers because the reward is better for hackers."

🧠 What I Learned

  • The newsletter started as a French lead magnet for consulting work, failed at that job, and survived because it solved a real gap: there's endless React content for beginners and very little for seniors.
  • The English pivot took six months of posting threads on X with no audience, purely to build a list before launching.
  • French sponsors couldn't make it sustainable — the audience was small and the budgets weren't there.
  • Exhaustive curation is the differentiator, and it costs three days a week including sponsor management.
  • The workflow is deliberately mechanical: a 2,000-profile X list scrolled seven days back, then 500+ RSS feeds in InnoReader, including generated feeds for GitHub pull requests from the React core team.
  • Gmail truncates emails past roughly 100KB, which breaks the reading experience and the tracking pixel — so the size limit is effectively the editor.
  • Merged is not shipped. Check React's feature flags before announcing anything; context selectors landed behind a Meta-internal flag and were later reverted for the React compiler.
  • Growth has plateaued around 40,000 with a ~60% open rate, and treating subscribers as a stream rather than a possession is what makes unsubscribes survivable.
  • Paid acquisition runs €2–3 per subscriber and about €10,000 a year; X ads worked well but got him blocked by maintainers whose content he needed to curate.
  • The cold-start fix for sponsorships is to target companies already sponsoring comparable newsletters, never to be someone's first newsletter.
  • Click counts are inflated by Apple and by corporate security scanners, which target UTM-tagged links in priority — the tracking you add is what gets falsely clicked.
  • Trusted publishing on npm doesn't protect you if your machine is compromised; the checkmark ships with the malicious release.

💬 Favorite Quotes

"There's a ton of articles for React beginners. But if you are a bit more senior, it's hard to find interesting content."

"Spending more than two days on the newsletter per week is not sustainable if you don't make any money from it. It's better to have a full-time job, you know."

"If you read the newsletter, the goal is that you can count on us to not miss anything important."

"It's an exhaustive process. I just follow the process."

"You should consider not your subscribers like something your own, more like a stream. You get subscribers coming and you get subscribers out and that's life."

"It was funny in the beginning, but now I don't like to play the game of social networks anymore."

"It's not my fault if their product is something hard to sell to front-end developers."

"I'm not trying to maximize the amount of click. I try to make the email self-sufficient."

"It's easy to think that the only way to use the React server component is how Next.js is using them."

"You can think that something trusted is safe, but it's not the case."

🎯 Also in this Episode

  • The tension he lives with: wanting to stay a developer rather than become a full-time journalist, and delegating issues to partners so he can write more code
  • His admission that he hasn't shipped a React Native app in about three years, has never really used TanStack Start, and hasn't used Next.js much — despite featuring all of them weekly
  • Why Docusaurus is an unusual React codebase to maintain: a static site generator with barely any useEffect, nothing like the dashboards most people build at work
  • Reader feedback is rare — around one reply a month — and arrives mostly when he shares behind-the-scenes details rather than links
  • Having to request testimonials on X in order to have anything to put on the landing page
  • The Axios maintainer takeover that started with a Slack invite and a Teams link, and Matteo Collina being targeted the same way but never clicking
  • TkDodo's blog traffic falling 20–30% year over year as Google stops sending people to websites, and whether curation newsletters are hit the same way
  • Book recommendation: Focus, on attention and how modern society is designed to take it from you — read just before his daughter was born, and not much since

Resources

More from Sébastien and the tools mentioned:

Books mentioned:

  • Focus — on attention and the forces designed to take it

🎧 Listen Now

🎧 Spotify
📺 YouTube
🍏 Apple Podcasts

Episode Length: 47 minutes on six years of curation, the three-day weekly workflow, Gmail's truncation limit, sponsorship economics, misleading click metrics, and why trusted publishing isn't the safety net it sounds like.

Whether you run a newsletter yourself, sponsor them, or just want to know what it costs someone to make sure you don't miss anything important each week, this one is the operational reality behind the inbox.

Happy curating,
Dan

💡 More Recent Takeaways

Hypermedia at Scale with Carson Gross
Episode 53

Señors @ Scale host Neciu Dan sits down with Carson Gross, creator of HTMX, principal at Big Sky Software, and computer science professor at Montana State University. Carson has been programming for more than 30 years, from HyperCard on a family Mac to Excel macros for an industrial engineering firm, a JVM language called Gosu, a Rails startup, and the 2012 library Intercooler.js that he rewrote without jQuery during COVID and released as HTMX. His argument is that the web was built as a hypermedia system, that links and forms are control logic living inside the document, and that most of what we call REST today fails the one constraint Roy Fielding cared about. He also covers which apps HTMX is wrong for, what changed in HTMX 4 and why 3 was skipped, and why his students now sit pencil and paper exams. It is a conversation about using the browser as the hypermedia client it was built to be.

Performance at Scale with Ryan Townsend
Episode 52

Señors @ Scale host Neciu Dan sits down with Ryan Townsend, Principal Product Manager for Performance at Cloudflare, where he owns real user monitoring and the wider performance measurement remit. Ryan has over 20 years in web technology and a decade as a CTO: he co-founded Shift Commerce, the first enterprise scale headless SaaS, and was CTO of Matalan Direct after the business he built came second in Shopify's Build a Business competition with only three months of trading. We cover why the 'Rails doesn't scale' story was always a myth, the resume driven development he kept finding as a fractional CTO, the personalization script that claimed zero performance impact and cost seconds at P90, and how Shift ran over 99% cache hit ratios by splitting the anonymous page from the basket.

Design Systems at Scale with Szymon Chudy
Episode 51

Señors @ Scale host Neciu Dan sits down with Szymon Chudy, Software Engineer at Netflix on the Hawkins team, which builds the design system behind thousands of internal applications used to produce the shows you watch. Before Netflix, Szymon spent two and a half years at Lokalise, growing from senior to staff frontend engineer and leading frontend direction across teams, and before that he toured Poland as a reggae guitarist while freelancing as a web developer in the off season. From why the source of truth for a design system lives in code, to Hawkins Consumer versus Hawkins Professional, to the UI paved road that changes what freedom and responsibility mean at Netflix, to measuring the team on adoption rate and shipping codemods and agent skills for every breaking change, to what being an informed captain who farms for dissent means in practice, this is the design system conversation for anyone maintaining a platform other engineers have to choose to use.

Agentic Systems at Scale with Vilva Athiban
Episode 50

Señors @ Scale host Neciu Dan sits down with Vilva Athiban, Lead AI Engineer at Omio, one of Europe's leading travel platforms, where he architects and ships agentic AI systems in production. Vilva designed and delivered Omio AI, along with the MCP integrations that connect AI agents to the company's systems. He never set out to switch from JavaScript to AI: in June 2024 Omio picked two people to start an AI team reporting to the CEO and CTO, and he learned on the job, from his first API call to an LLM up to a consumer-facing agent whose backend runs on nothing but MCP. From why a bigger model with medium thinking came out cheaper than the mini, to capping tool calls because LLMs are built for token maxing, to the whale hunting request that showed his team guardrails are subjective, this is a conversation about what production agentic systems look like once the tutorials run out.

📻 Never Miss New Takeaways

Get notified when new episodes drop. Join our community of senior developers learning from real scaling stories.

💬 Share These Takeaways

Share:

Want More Insights Like This?

Subscribe to Señors @ Scale and never miss conversations with senior engineers sharing their scaling stories.