All case studies

Eight hours of newsletter production, cut to eight minutes

Sector
Media technology
Engagement
Fixed project
Scope to production
9w
Engineers, not 8
3

A weekly newsletter is roughly eight hours of work, and almost none of it is writing. It is reading forty sources to find eight stories, noticing that three of them are the same story, judging which ones this particular audience will actually open, then reformatting the result for every channel the publisher runs.

Every step there is mechanical except the judgement, and the judgement is what people think they are paying for. The product had to automate the eight hours without taking the editorial control away, because a newsletter that sounds like nobody is a newsletter nobody reads.

What we did

A fixed project: defined scope, fixed price, fixed date, delivery responsibility on us.

  1. Scoping, three days. The decision that shaped the build was where the human stays. Sourcing, deduplication, scoring and drafting are automated; selection and the final edit are not. Everything downstream follows from putting the line there rather than one step later.
  2. Factory setup, week one. Environments, CI, the delivery platform, and an evaluation set of past issues with their real open rates, so story scoring could be measured against outcomes instead of opinions.
  3. Build, weeks two to seven. Three certified engineers, shipping weekly. Agents took the ingestion layer, which is thirty-plus sources across RSS, newsletters, X, Substack and news APIs, and the publishing layer, which is another thirty integrations from Mailchimp and Beehiiv to Ghost, ConvertKit, LinkedIn and WordPress. Sixty-odd connectors is a year of hand-written work and none of it is interesting. The engineers held semantic clustering, the scoring model and voice learning.
  4. Hardening and launch, weeks eight to nine. Deliverability, scheduling, channel attribution in the analytics, and handover.

What made the difference

Deduplication had to be semantic rather than textual. Five outlets covering one announcement produce five different headlines and one story, and a newsletter that lists all five looks automated in the way that loses subscribers. Clustering by meaning rather than by string similarity is the single feature that makes the output publishable.

Voice learning reads the last twenty issues rather than asking anyone to describe their tone, because nobody can describe their own tone accurately. It is a small idea that removed the onboarding step most similar products fail at.

Scoring was built against real open rates from the start. Without that measurement the model is just a confident guess about what an audience wants, and there is no way to tell a tuning improvement from a random one.

Where it landed

Sourcing, deduplication, scoring, drafting and multi-channel publishing run end to end, with the writer selecting and editing rather than assembling. Publishers report the eight-hour issue coming down to about eight minutes.

StackTypeScript · Node · Postgres · pgvector · Redis · S3

Create 10x more value with technology.

Your roadmap shouldn't be waiting.

30-minute call  ·  No deck  ·  Engagement lead on the call