A modern email development platform consisting of a VS Code extension for mobile preview and a web-based dashboard for email testing.
This is a monorepo managed with Turborepo:
mailmirror-platform/
├── apps/
│ ├── extension/ # VS Code extension for mobile preview
│ └── web/ # Next.js web dashboard (coming soon)
└── packages/
└── renderer/ # Shared MJML & Maizzle compilation engine
- Live Mobile Preview: Preview your email templates on your phone in real-time
- Auto Hot Reload: Changes automatically update on your device
- QR Code Access: Simple QR code scanning to access preview
- Cloudflare Tunnel: Secure public URL without ngrok/localtunnel
- Outlook Fixer: AI-powered tool to fix Outlook compatibility issues (coming soon)
- MJML compilation
- Maizzle template support
- Auto-detection of template format
- Shared across extension and web platform
- Node.js >= 18.0.0
- npm or yarn
- Cloudflare Tunnel CLI (
cloudflared)
macOS:
brew install cloudflaredLinux: Follow instructions at https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/
Windows: Download from https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/
-
Install dependencies:
npm install
-
Build all packages:
npm run build
-
Run tests:
npm test -
Develop the extension:
cd apps/extension npm run devThen press F5 in VS Code to launch the extension development host.
-
Develop the web app:
cd apps/web npm run dev
- Open an email template file (
.mjmlor.html) - Run command:
MailMirror: Start Mobile Preview(Cmd/Ctrl + Shift + P) - A QR code will appear in the MailMirror sidebar
- Scan the QR code with your phone
- Edit your template - changes auto-reload on your device!
- Select HTML code that needs Outlook compatibility fixes
- Run command:
MailMirror: Fix for Outlook - The selected code will be transformed for Outlook compatibility
npm run devThis starts all packages in watch mode.
npm run buildcd apps/extension
npm run packageThis creates a .vsix file you can install or publish to the marketplace.
The core IP - handles compilation of MJML and Maizzle templates. Shared between the VS Code extension and web platform to ensure consistent rendering.
- Express server serves compiled HTML
- Cloudflare Tunnel creates public URL
- WebSocket connection for hot reload
- File watcher monitors template changes
- QR code displayed in VS Code sidebar
- Cloud-based template editor
- Multi-client email testing
- Team collaboration features
- Template library
- Analytics
-
✅ Phase 1: The Wedge - Free VS Code extension
- Mobile preview
- Outlook fixer
- Build distribution & trust
-
Phase 2: The Upsell - Web Platform (Pro)
- Email client testing (Gmail, Outlook, Apple Mail, etc.)
- Cloud storage
- Team features
- $5-10/month per user
-
Phase 3: Growth
- Show HN / Product Hunt launch
- VS Code marketplace promotion
- Content marketing (Outlook compatibility guides)
- Runtime: Node.js
- Language: TypeScript
- Monorepo: Turborepo
- Web Framework: Next.js 15
- Email Frameworks: MJML, Maizzle
- Testing: Jest
- Tunnel: Cloudflare Tunnel
This is currently a solo project building toward $50 MRR. Open to feedback and suggestions!
MIT