HeyNews reads a newsletter writer's past issues, learns their voice, and drafts new issues in that voice. Native beehiiv and Kit integrations, plus archive imports from any platform. Every draft waits for a human to send it.
We ran newsletters before we sold software for them. The tools we tried were fast and sounded like nobody. Editing a generic draft back into our own voice cost more time than the draft had saved.
So we built the thing we wanted: an AI writer trained on our own archive instead of on an AI house style. We published nearly 600 issues with it across ten formats before we let anyone else near it.
That order still shows in the product. HeyNews creates drafts; a person reads them; a person sends them. We've never shipped auto-publishing, and we're not planning to. Readers subscribed to a voice, and a voice is not a prompt.
Our stack
App: React 18, TypeScript, Vite, Tailwind, React Router, TanStack Query, Tiptap for the editor, Recharts for the analytics views.
Backend: SST v3 on AWS in us-east-2. Lambda behind API Gateway, 22 SQS queues and 24 crons running source polling and draft generation, plus S3, SES and Cognito. MongoDB Atlas for data, Stripe for billing.
Models go through OpenRouter, so a step can route to Gemini, GPT, or Claude on its own merits. Traced with Langfuse over OpenTelemetry.
Tests: Vitest, Playwright, Lighthouse CI. The marketing site is separate, on Cloudflare Workers.
0 posts published
1 member
loading...
We're a place where coders share, stay up-to-date and grow their careers.