Skip to content

Update Maple welcome email design#150

Merged
AnthonyRonning merged 8 commits intomasterfrom
welcome-email-update
Mar 3, 2026
Merged

Update Maple welcome email design#150
AnthonyRonning merged 8 commits intomasterfrom
welcome-email-update

Conversation

@marksftw
Copy link
Contributor

@marksftw marksftw commented Feb 28, 2026

Summary

  • Redesigned the Maple welcome email with a modern multi-section layout
  • Added hero image, download CTAs (web + apps), Pro upsell with feature grid, and Maple Proxy developer section
  • Updated support contact to support@trymaple.ai
Welcome to Maple AI - update 2

Test plan

  • Verify welcome email sends correctly on user signup
  • Check rendering across major email clients (Gmail, Apple Mail, Outlook)
  • Confirm all links (trymaple.ai, downloads, pricing, docs) resolve correctly

Open with Devin

Summary by CodeRabbit

  • Style
    • Redesigned the welcome email into a fully responsive, modern HTML layout: professional header and hero image, sectioned content (intro, downloads, pro upsell, proxy info), prominent CTAs and download buttons, feature highlights, dividers, and an improved footer for clearer hierarchy and engagement.

Redesigned welcome email with modern multi-section layout including
hero image, download CTAs, Pro upsell features, and Maple Proxy section.
@coderabbitai
Copy link

coderabbitai bot commented Feb 28, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The welcome email HTML template in src/email.rs was replaced with a comprehensive, styled, and responsive design (hero, images, feature sections, buttons, proxy content, and footer). No function signatures, control flow, or error handling were changed.

Changes

Cohort / File(s) Summary
Welcome Email Template
src/email.rs
Replaced minimalist inline HTML with a full, responsive HTML email layout including wrapper, header, hero image, multiple content sections, download/buttons, pro features, proxy section, and footer (≈+256 additions, -31 removals).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I stitched a letter with pixels and light,
A hopping hello, all cozy and bright,
Buttons to click and a banner to cheer,
A tiny rabbit sending welcome near,
May this new design bring smiles and delight! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'Update Maple welcome email design' accurately and concisely describes the main change: a redesign of the welcome email template with a modern, responsive layout including new sections, CTAs, and visual elements.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch welcome-email-update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 4 additional findings.

Open in Devin Review

coderabbitai[bot]

This comment was marked as resolved.

Outlook does not support CSS flexbox. Use a table-based layout for the
Maple Proxy section so the icon and text render side-by-side consistently
across all email clients.
Many email clients do not support hsl() CSS colors. Replace all
instances of hsl(264,89%,69%) with #a855f7 for broader compatibility.
Inline-block with percentage widths breaks in many email clients due to
whitespace handling. Use a proper 2-column table for the Pro feature grid
for reliable rendering across all clients including Outlook.
@AnthonyRonning
Copy link
Contributor

@marksftw we have to whitelist the maple support email with apple for their private email router thing. I don’t know if the maple domain is in there or if it’s just the opensecret one. Can you check? I forgot where it’s at.

@marksftw
Copy link
Contributor Author

@marksftw we have to whitelist the maple support email with apple for their private email router thing. I don’t know if the maple domain is in there or if it’s just the opensecret one. Can you check? I forgot where it’s at.

Okay, I added trymaple.ai next to the existing opensecret.cloud entry in the Apple Developer portal for Sign in with Apple for Email Communication. Should be good to go.

Add warm intro message about Maple as a private space for AI
conversations. Move primary CTA to the intro section as "Start your
first chat" and keep "Download Apps" in the device section.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
src/email.rs (2)

193-201: Consider adding preheader text for email preview optimization.

Email clients display preview text (preheader) alongside the subject line. Without explicit preheader text, clients will pull from the first visible content ("Welcome to Maple AI" or the intro paragraph), which may get truncated awkwardly.

📧 Optional: Add hidden preheader text
     <div class="wrapper">
+
+        <!-- Preheader (appears in email preview) -->
+        <div style="display: none; max-height: 0px; overflow: hidden; mso-hide: all;">
+            Private, powerful AI that's ready when you are. Get started on Web, iPhone, Android, Mac, or Linux.
+        </div>

         <!-- Header -->
         <div class="header">
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/email.rs` around lines 193 - 201, Add an explicit hidden preheader string
immediately after the top of the email HTML (e.g., right after the <div
class="wrapper"> or inside the <div class="header"> before the <h1>) by
inserting a visually-hidden element (span/div) with a concise preview sentence;
hide it with email-safe CSS (transparent color, zero height, overflow:hidden,
mso-hide:all, and font-size:1px) so clients show the preheader in inbox previews
but it doesn’t appear in the rendered message — update the template around the
existing wrapper/header/h1 elements accordingly.

209-209: CTA buttons may render as plain links in Outlook.

The inline-styled <a> buttons work in most email clients but Outlook strips padding and border-radius from anchor tags. For truly bulletproof buttons, VML-based buttons are the standard approach, but this is an optional enhancement since the current implementation degrades gracefully to clickable links.

📧 Example: Bulletproof button using VML (optional)

For Outlook-specific button rendering, you can wrap buttons in conditional VML:

<!--[if mso]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://trymaple.ai" style="height:44px;v-text-anchor:middle;width:180px;" arcsize="14%" stroke="f" fillcolor="#a855f7">
  <w:anchorlock/>
  <center style="color:`#ffffff`;font-family:sans-serif;font-size:15px;font-weight:500;">Start your first chat</center>
</v:roundrect>
<![endif]-->
<!--[if !mso]><!-->
<a href="https://trymaple.ai" style="...">Start your first chat</a>
<!--<![endif]-->

This is optional polish since the current buttons are functional across all clients.

Also applies to: 223-223, 267-267

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/email.rs` at line 209, The CTA anchor in the email HTML template (the <a
href="https://trymaple.ai" ...>Start your first chat</a> elements) can render
poorly in Outlook; wrap each CTA anchor with Outlook conditional VML markup so
MSO clients get a <v:roundrect> button and non-MSO clients keep the existing
inline-styled <a> fallback. Locate the CTA anchors (the styled anchor(s) used
for "Start your first chat" around the template code that produces lines
matching the shown snippet and the similar occurrences at the other reported
lines) and surround them with MSO conditional comments: an MSO block that
renders a VML roundrect with equivalent href, fillcolor, dimensions, arcsize and
centered text, and a non-MSO block that preserves the current <a> markup; ensure
you duplicate this for each occurrence referenced.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@src/email.rs`:
- Around line 193-201: Add an explicit hidden preheader string immediately after
the top of the email HTML (e.g., right after the <div class="wrapper"> or inside
the <div class="header"> before the <h1>) by inserting a visually-hidden element
(span/div) with a concise preview sentence; hide it with email-safe CSS
(transparent color, zero height, overflow:hidden, mso-hide:all, and
font-size:1px) so clients show the preheader in inbox previews but it doesn’t
appear in the rendered message — update the template around the existing
wrapper/header/h1 elements accordingly.
- Line 209: The CTA anchor in the email HTML template (the <a
href="https://trymaple.ai" ...>Start your first chat</a> elements) can render
poorly in Outlook; wrap each CTA anchor with Outlook conditional VML markup so
MSO clients get a <v:roundrect> button and non-MSO clients keep the existing
inline-styled <a> fallback. Locate the CTA anchors (the styled anchor(s) used
for "Start your first chat" around the template code that produces lines
matching the shown snippet and the similar occurrences at the other reported
lines) and surround them with MSO conditional comments: an MSO block that
renders a VML roundrect with equivalent href, fillcolor, dimensions, arcsize and
centered text, and a non-MSO block that preserves the current <a> markup; ensure
you duplicate this for each occurrence referenced.

ℹ️ Review info

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 11a093d and 6b4c371.

📒 Files selected for processing (1)
  • src/email.rs

@marksftw marksftw requested a review from AnthonyRonning March 2, 2026 01:39
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
coderabbitai[bot]

This comment was marked as resolved.

@AnthonyRonning AnthonyRonning merged commit bdf789f into master Mar 3, 2026
6 checks passed
@AnthonyRonning AnthonyRonning deleted the welcome-email-update branch March 3, 2026 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants