Case Study · Toddle · 2026
The Insight
Toddle sends product emails to everyone in a school — teachers, students, families, administrators — across every interaction. These are not marketing emails. They're the off-platform pulse of the product.
Before the revamp, the email system had never been audited as a whole. Each of 26 modules built its own emails independently — its own subject line patterns, its own understanding of what a recipient actually needs.
The most important realisation: most recipients decide — open, archive, or ignore — from the inbox preview alone. Sender + subject + pre-header. The email body is a confirmation surface. We had abandoned the preview on nearly every email in the system.
The Problems
01
Across 19 of 26 modules, the pre-header was either missing or pulled in whatever came first in the body — an unsubscribe footer, a template label, a generic greeting. The decision surface was wasted on noise.
02
A parent with multiple children receives emails across multiple children, subjects, teachers — often in the same morning. No email surfaced the student's name in the subject line. Opening each one was the only way to know.
03
The Goals module had 4 comment triggers — all looking identical in the inbox. Users learned that "comment" could mean 4 things of varying urgency. All four got treated as low priority.
04
IB registration reminders. SIS sync failure alerts. External evaluator invitations. Highest-stakes communications — worst pre-header quality, most inconsistent structure. Low-traffic emails got the least design attention. Wrong trade-off.
"If the subject line is a door, the pre-header is the window next to it. We had boarded up every window."
Key Decisions
Old approach: each module wrote its own. New approach: four formulas, one per persona. Teacher: [Context]: [Action] → "Math 10B: Assignment deadline changed." Family: {{student_name}}: [Action] → "Arjun: New goal assigned." Student: [Action] in [Subject] → "Task due tomorrow in Physics." Admin: [System]: [Status] → "SIS Sync: 3 errors need attention."
1. Never leave it empty. 2. Never repeat the subject word-for-word. 3. Add exactly one piece of decision-relevant information the subject didn't give — urgency, child name, class context, or required action. Simple rules, applied consistently, rebuilt the inbox as a reliable triage surface.
Most designers would deliver Figma mockups. I built a React Email preview application rendering every spec as a live, pixel-accurate template. No email client setup. No test emails. Share the link, see the email. Changed the design-to-approval cycle time fundamentally.
Every audit was done from screenshots of actual production emails — inbox previews and opened-view captures. This surfaced things a code review wouldn't: pre-headers pulling in template labels, a [DND] test artifact in production, and a live subject line bug in PLANNG09 escalated for immediate fix.
What I Learned