02 · Case study · Product · Saturn
Newsletter Studio
The productized version of Growfin: I turned a fintech brief I'd automated for myself into an app anyone can use: describe your field in one conversation with an AI assistant and get a tailored briefing delivered to Slack or email.
Read the case study
Year
2026
Role
Solo · product, build & deploy
Context
Product
Stack
Next.js · Supabase (magic-link auth + Postgres) · Claude API (Sonnet 4.6) · n8n · Exa · Slack OAuth · Brevo · React Three Fiber · Docker / Caddy
1
conversation to a live digest
2 days
side project to production beta
Slack + email
multi-workspace delivery
The challenge
I'd already automated my own fintech intelligence brief (Growfin), but it was hardcoded to me: one source list, one output, one voice. Everyone I showed it to wanted their own (different field, different sources, different channel) and there was no way to give it to them without rebuilding the workflow by hand. The real problem wasn't the automation; it was the generalization: how do you let someone who's never seen a workflow describe their world in plain language and get a system built for them?
What I built
- A conversational onboarding: users describe their role and what they want to follow, and an AI assistant (Lia, on Claude) interviews them, researches candidate sources, validates each one (RSS auto-discovery, freshness checks) and curates a source set, replacing the hardcoded feed list with a flow that infers anyone's sources from a sentence.
- A multi-tenant architecture: one shared engine holds all the logic (fetch, dedupe, curate, write, deliver) and each user gets a thin scheduled workflow that calls it, so an improvement ships to everyone at once instead of being copied per user.
- Two delivery channels with real auth: passwordless magic-link sign-in, one-click Slack OAuth so a brief lands in any workspace's channel, and transactional email.
- Product guardrails from day one: per-user cost caps, a 30-seat beta limit, and a server-side rule that an email brief can only go to the account's own address: a tester found the spam hole and I closed it.
- Designed, built and deployed to my own server in about two days with Claude Code, down to a 3D landing for the first impression.
Results
- A working v1 in production in roughly two days, now in private beta with about a dozen colleagues at Finary spinning up their own briefs.
- The productization held: a non-technical person sets up a tailored digest in one conversation, on an engine that scales to many users without many codebases.
- Real usage pointed straight at the next problem (twelve people signed up, three launched a brief), so activation, not capability, is the lever I'd pull next.