Rapha Johannsen
Home Case · 02 The Optimist
Case study · 01 · Public beta

The Optimist.

A daily wellness practice — built, designed, written, produced and shipped by a team of ~20 agents, managed out of one founder's palm.

Role
Founder · designer · builder
Surface
Brand · product · agentic ops
Stack
Next.js · Supabase · Anthropic · Buffer
Cadence
2 pieces · daily · 28 days running

live · type a negative thought, get a perspective flip — same logic as on the-optimist.xyz ↗

the-optimist.xyz / chat demo
a 30-second look at the live chat experience
The brief

A daily wellness practice
that publishes itself.

Most wellness media is either a one-person Substack that burns out in three months, or a venture-backed publication that loses its voice by month six. The Optimist is neither: it's a daily practice — a morning piece and an evening piece, every single day — produced by a small agentic stack with one designer-founder steering it.

The work isn't to write the pieces. The work is to build the system that writes them, in your voice, on your topics, on your schedule — and then to use the time saved to do the work that only a human can do.

The reframe demo above isn't a marketing toy — it's the public surface of the same engine that runs the daily publishing pipeline. Same architecture, different content type. 28 consecutive days of output. Voice consistent. Editorial standard maintained.

Identity

Cream & pink.
Hidden orange.

A heart drawn by hand. Pink as the dominant accent — pink as optimism in colour form. A hidden orange that only appears on hover, on overscroll, on micro-interactions: a reward, not a feature. Three typefaces working in concert: Syne for headlines (uppercase, bold, almost editorial), Inter Tight for tracked body, Poppins italic for the human, conversational moments — the voice of the reframe itself.

Logo · the rj heart
Palette
cream
pink
orange
brown
Type · three voices
Wake before the sun.
A daily morning practice for people who want to do the work, not just talk about it.
"Some mornings the practice is just sitting with the cup of coffee."
User experience

Five screens.
One daily practice.

The app is small and daily. Five surfaces — home, reframe chat, morning intention, evening gratitude, wins library — each a single touchpoint. Together they build reflex.

01Home · daily dashboard 02Chat · the reframe 03Morning · intention 04Evening · gratitude 05Wins · library
16:41
THE OPTIMIST
R
Good afternoon
Hi, Raphael.
Today
YOUR DAILY DROP
One piece of the world getting better. Tap to read.
OPEN →
CHAT WITH RAPHA
TEXT. LISTEN. REFRAME.
TODAY
MORNING INTENTION
Come back in the morning
EVENING GRATITUDE
Come back tonight
YOUR WINS LIBRARY
WHAT YOU'VE DONE
THE OPTIMIST
closed a 50K deal, you know how to read a room.
HOW DID THIS LAND?
I have an idea. Why don't I build a new landing page for this?
That's a longer play. Follow up with your warm contact first.
EDIT YOUR STORY · RAPHAEL
THE OPTIMIST
MORNING
OPEN THE DAY.
ONE THING YOU'RE CARRYING IN. ONE THING YOU'RE LETTING GO.
THE OPTIMIST
EVENING
CLOSE THE DAY.
Three things you're grateful for right now.
TINY ONES COUNT.
YOUR WINS
Closed a 50K deal
FINANCIAL
Had the hard conversation, came out closer
RELATIONSHIPS
Agentic stack

Five workstreams,
roughly twenty agents.

One founder, in the loop where it matters. Everything else runs on a schedule.

1 · Generation
  • News
  • Curator
  • Writer
  • Image
  • QuizWriter
2 · Production
  • Audio
  • Motion
3 · Distribution
  • Instagram
  • Facebook
  • LinkedIn
  • Email
  • YouTube
  • X
  • TikTok
4 · Growth
  • Brand Guardian
  • Share-artifact
  • Referral
  • SEO pillar
  • Brand-channel
5 · Founder Loop
  • Analyst
  • Brief Writer
  • Cost Watcher
  • Anomaly Watcher
Admin dashboard · live system

The cockpit. Every agent, every run.

The whole publishing engine, on one page. Health of every agent. Spend, broken down per provider and per agent. The 14-day queue. Run history with surfaced errors. This is the actual admin view at the-optimist.xyz/admin/dashboard — recreated below, pixel-considered, with the same data shape.

the-optimist.xyz / admin / dashboard live
The Optimist Studio
Live system view

The Optimist · Agents

Generated 30/04/2026, 09:37:31 Lisbon
Drops in flight 11 5 review · 6 approved
Published lifetime 10 0 failed · 3 discarded
Signed-up users 2 0 daily logs · 7 wins
Broken integrations 2 LINKEDIN_ACCESS_TOKEN, LINKEDIN_ORG_URN

fully functional admin · Next.js 15 · Supabase · auto-refreshed every 60s · every cell click → run history modal

The team behind

How the agents
work together.

Brand Guardian gates publishing. Cost Watcher caps spend. Anomaly Watcher pings out-of-band. Analyst + Brief Writer give the founder Monday insight + Friday review. Everything else runs on schedule, every single day.

Monday
Analyst pulls data. Brief Writer emails week ahead + 1-3 decisions.
Daily
Generation → Production → Distribution. All agents run on cron. ~25 min founder time: review, edit one para, approve.
As needed
Brand Guardian quarantines risky drafts. Anomaly Watcher alerts on anomalies. Cost Watcher pings at 80% spend cap.
Friday
Analyst + Brief Writer send week review + learnings. Cost summary. No manual work.
Founder time per day
~25 min
Replacing what would normally take a four-person editorial + brand team
What the team ships

An entire team,
in the palm of one hand.

No agencies to brief. No employees to coordinate. No contractors talking past each other. ~20 agents on one budget, one voice, one founder's read on what matters this week — and four products shipping every day.

Reframe-on-demand Chat Real-time positivity agent. Negative thought in, perspective flip out — pulled from the user's own wins library.
Daily Drop News One verifiable, dated piece of evidence the world is moving in the right direction. Every morning, fan-out to four channels.
Reality Check Quiz Tuesday + Friday, Factfulness-style. Designed to surprise people upward — most readers underestimate how much improved.
Practice 2× day Morning intention. Evening gratitude. The frame for the day, the close for the night.
Case · 01 · The Optimist · Public beta Back to home →
THE OPTIMIST · STUDIO

Spend · agent estimates

From pipeline_runs.cost_cents · based on published rate cards, not invoice data
Last 7 days €4.52 82 runs tracked · 28 untracked
Last 30 days €4.52 82 runs tracked
Projected monthly €19.37 7d burn × 30
Daily average 65¢ Last 7 days
Per agent · last 30 days
News24¢
Curator69¢
Writer21¢
Quiz18¢
Image€2.45
Motion60¢
Audio
Guardian15¢
47 runs in the window have no cost_cents recorded. Older runs pre-date cost tracking; new runs populate automatically via lib/agents/costs.ts
Provider balances
Anthropic 100% Inferred · €0.06 / €30 cap
ElevenLabs no data Probe failed · 401
Fal 98% Inferred · €1.00 / €50 cap
Perplexity 100% Inferred · €0.00 / €10 cap

1 · Generation

News → Curator → Writer → Image → Quiz Writer
News healthy
Scans positive-news sources for 5 candidate stories. 24 ok / 0 failed (7d) Last run · 8h ago · 7,209 ms · ok
lib/agents/news.ts
Click to open run history →
Curator healthy
Picks the single best of the 5 candidates. 5 ok / 1 failed (7d) Last run · 8h ago · 3,517 ms · skipped
lib/agents/curator.ts
Click to open run history →
Writer healthy
Generates hook + newsflash + IG/LinkedIn/X variants in voice. 7 ok / 0 failed (7d) Last run · 8h ago · 21,418 ms · ok
lib/agents/writer.ts
Click to open run history →
Image healthy
Generates hero + square + vertical images via Flux Pro. 20 ok / 2 failed (7d) Last run · 2h ago · 12,515 ms · ok
lib/agents/image.ts
Click to open run history →
Quiz Writer healthy
Generates Reality Check 5-question Tue/Fri quizzes. 6 ok / 0 failed (7d) Last run · 8h ago · 22,225 ms · ok
lib/agents/quizwriter.ts
Click to open run history →

2 · Production

Audio + Motion media for the daily drop
Audio healthy
Generates narration MP3 (ElevenLabs Turbo v2.5). 5 ok / 0 failed (7d) Last run · 3h ago · 8,742 ms · ok
lib/agents/audio.ts
Click to open run history →
Motion healthy
Image-to-video via Kling v1.6 — 5–6 sec, 9:16 for Reels/TikTok. 2 ok / 1 failed (7d) Last run · 2h ago · timing · ok
lib/agents/motion.ts
Click to open run history →

3 · Distribution

DIRECT FAN-OUT · INSTAGRAM, FACEBOOK, LINKEDIN, EMAIL · YOUTUBE / X / TIKTOK IN PIPELINE
Instagram healthy
Posts via Meta Graph API (Reels + carousel). Scheduled 06:30 UTC · last post 8h ago · 1.2K reached Last run · 8h ago · 2,145 ms · ok
lib/agents/channels/instagram.ts
Click to open run history →
Facebook healthy
Posts via Meta Graph API (cross-posted from Instagram). Scheduled 06:32 UTC · last post 8h ago · 340 reached Last run · 8h ago · 1,847 ms · ok
lib/agents/channels/facebook.ts
Click to open run history →
LinkedIn healthy
Posts via LinkedIn REST API (manual queue mode pending CMA). Scheduled 07:15 UTC · last post 7h ago · 680 reached Last run · 7h ago · 3,216 ms · ok
lib/agents/channels/linkedin.ts
Click to open run history →
Email healthy
Daily digest to ~140 subscribers via SendGrid. Scheduled 08:00 UTC · last send 6h ago · 87% open Last run · 6h ago · 4,527 ms · ok
lib/agents/channels/email.ts
Click to open run history →
YouTube pipeline
Long-form video uploads + premiere scheduling. Launching Q3 · 7-day rollout queued lib/agents/channels/youtube.ts Click to open run history →
X pipeline
Threaded tweets + quote-tweet reposts. Launching Q3 · 7-day rollout queued lib/agents/channels/x.ts Click to open run history →
TikTok pipeline
Short-form video upload with captions. Launching Q3 · 7-day rollout queued lib/agents/channels/tiktok.ts Click to open run history →

4 · Growth

Brand-safety, share artifacts, referrals, SEO — mostly not built
Brand Guardian healthy
Pre-publish safety: catches toxic positivity, medical/political risk. 2 ok / 0 failed (7d) Last run · 8h ago · 0ms · quarantine
lib/agents/brandguardian.ts
Click to open run history →
Share Artifacts healthy
Generates /share/(type)/(id) public pages + dynamic OG images. 10 ok / 0 failed (7d) Last run · 8h ago · 5,214 ms · ok
app/share/(type)/(id)/page.tsx
Click to open run history →
Referrals healthy
Manages invite codes + invitee attribution + streak unlocks. 3 ok / 0 failed (7d) Last run · 18h ago · 1,847 ms · ok
lib/agents/referrals.ts
Click to open run history →
SEO Pillar healthy
Writes 1 evergreen pillar/week, submits sitemap. 1 ok / 0 failed (7d) Last run · 3d ago · 18,624 ms · ok
lib/agents/seo.ts
Click to open run history →
Brand Channel healthy
Cross-posts daily drop to Rapha's personal IG/LinkedIn 1×/day. 6 ok / 0 failed (7d) Last run · 8h ago · 3,518 ms · ok
lib/agents/brandchannel.ts
Click to open run history →

5 · Founder Loop

Analytics · cost · anomalies · briefs
Analyst healthy
Pulls Vercel + Supabase + Buffer + Search Console for the briefs. 4 ok / 0 failed (7d) Last run · 18h ago · 7,342 ms · ok
lib/agents/analyst.ts
Click to open run history →
Brief Writer healthy
Mon brief queued — week ahead + 1–3 strategic decisions. Monday · next run app/api/cron/brief/route.ts Click to open run history →
Cost Watcher healthy
Tracks per-agent spend; alerts at 80% of monthly cap. Runs daily 06:00 UTC. 4 ok / 0 failed (7d) app/api/cron/cost-check/route.ts Click to open run history →
Anomaly Watcher healthy
Daily 12:00 UTC. Pings if signups, daily-log activity, or pipeline failure rate diverges from 7-day baseline. 7 ok / 0 failed (7d) Last run · 4h ago · 2,145 ms · ok
app/api/cron/anomaly-check/route.ts
Click to open run history →

Queue · next 14 days

Open queue →
DatePillarStatusTopicH · S · V · M · A
2026-05-04 news needs_review Cheap Batteries Enable Round-the-Clock Solar Power H S V M A
2026-05-05 factcheck published The Reality Check — 2026-05-05 H S V M A
2026-05-06 news approved Giant Tortoises Return to Floreana Island After Century Absence H S V M A
2026-05-07 news approved Breakthrough in Malaria Vaccine Reduces Deaths by 40% H S V M A
2026-05-08 factcheck approved The Reality Check — 2026-05-08 H S V M A
2026-05-09 news needs_review Solar-Powered Water Systems Bring Clean Water to 50K in Sub-Saharan Africa H S V M A
2026-05-10 news discarded Denver Nuggets Rally with Triple-Double Victory in Playoff Thriller — — — — —

Recent agent runs

last 24h · 8 of 47
WhenStepStatusDrop
20h ago image 8,564 ms The Reality Check — 2026-04-28
21h ago motion 120,964 ms Amur leopard population tripled from 30 to 100+ individuals
21h ago motion failed Denver Nuggets Rally with Triple-Double — Fal.ai Kling 422
22h ago writer 23,534 ms The Reality Check — 2026-05-05
2d ago publish failed The Reality Check — 2026-04-28 · BUFFER_ACCESS_TOKEN not set
3d ago publish historical_cron 158 giant tortoises return to Floreana Island [resolved via Cowork+Buffer MCP]
REVIEW 5 · APPROVED 6 · PUBLISHED 10 · CRON ok · 24H RUNS 21/21
Carry this in: the content is working, the infrastructure needs a check. Six drops in the next seven days with three still unreviewed is tight if anything stays broken. Back Monday.
MONDAY BRIEF · 2026-05-04
Week ahead — 5 to review, publish cron needs a look. Heading into the week with 6 drops queued and 5 still pending review — pipeline is loaded but not quite ready. Two things want your eye before Tuesday. First, Cheap Batteries Enable Round-the-Clock Solar Power is sitting in needs_review for May 6th — that's tomorrow. Second, the publish cron has been flagging a 26h silence every day since April 30th. Worth a quick check on what actually fired versus what the logs show. Get that publish cron sorted and the May 6th piece approved — everything else can wait.
ok, brief me on the May 6 piece
Cheap Batteries Enable Round-the-Clock Solar Power. Source: IEA · 2026 cost-curve update. Hook: 'Solar with batteries is now cheaper than gas in 70% of new builds.' Tone: 92% match against corpus. Image: hero + square + vertical generated, all good. One copy nit on the LinkedIn variant — wants to read more like a thesis than a headline. Want me to regen?
yes please
Done. New LinkedIn copy queued for your review.