Repository navigation
Open
Labels
enhancementNew feature or requestNew feature or requestseverity: mediumNotable gap with a workaround, or competitive parityNotable gap with a workaround, or competitive parity
Description
Background
Current state. The free, no-signup online email editor at https://email-editor.courselit.app/ is branded as CourseLit:
- Page title "Online Email Editor by CourseLit", meta description "A free online email editor for creating emails".
- Header says "Email Editor by CourseLit" and links to https://courselit.app and https://github.com/codelitdev/courselit.
- Source code: https://github.com/rajat1saxena/courselit-email-editor-demo. It's a Next.js 15 app on Vercel, depends on
@courselit/email-editor@^0.1.1, and was last pushed 18 Jun 2025. It is not incodelitdev/courselit(there is noapps/email-editor; onlypackages/email-editorlives there). The layout loads Geist throughnext/font/google.
The editor has since been extracted into this repo as packages/email-editor (@sendlit/email-editor v0.2.0). Downloads last month: @sendlit/email-editor 383 vs @courselit/email-editor 37 (npm).
Why move it.
- Traffic and credit go to CourseLit. Every visit, backlink and GitHub star from the playground goes to CourseLit, not to SendLit.
- Top of the funnel for the embed ICP. Platforms that want to embed an email editor are SendLit's top ICP. They try an editor in the browser before running
npm install, so a SendLit-branded playground is the first thing they should see. - Waypoint already does this. EmailBuilder.js (
@usewaypoint/email-builder) gets about 1.9M npm downloads a year (npm) and has had no commits since Feb 2026 (GitHub API). Its hosted playground, emailbuilderjs.com, has deep-linked samples (#sample/...) and a "Brought to you by Waypoint" line. That playground is what spreads the OSS editor and feeds Waypoint's paid product (README).
Source: Waypoint competitor profile (Oct 2026), takeaway #2.
Proposed fix
Phase 1: move and rebrand
- Host the playground in this repo, e.g.
apps/editor, built on the workspace@sendlit/email-editorpackage rather than a pinned npm version. - Serve it at editor.sendlit.app (DNS is in AWS Route 53) or at
sendlit.app/editor. - Use SendLit branding and logo.
- Header links:
- https://github.com/codelitdev/sendlit
- the npm package https://www.npmjs.com/package/@sendlit/email-editor
- the embed/platforms page on sendlit.app (the home page until that page exists)
- a signup CTA to https://app.sendlit.app ("Send this email with SendLit, free")
- SEO title and meta, e.g. title
Free online email editor — open-source React email builder | SendLit, plus a matching description, canonical URL, and OG/Twitter image. - 301 redirect
email-editor.courselit.app(all paths) to the new URL. Then archiverajat1saxena/courselit-email-editor-demoand point its README to the new location.
Phase 2: samples and sharing
- Add a few sample templates in the ICP's voice: course welcome, newsletter, community digest.
- Make each sample a shareable deep link (e.g.
/#sample/course-welcome). - Add export and import of the editor JSON, and an HTML export.
Phase 3: EmailBuilder.js import
- Add an "Import EmailBuilder.js JSON" option that uses the importer from the sibling sub-issue, so EmailBuilder.js users can paste their template and keep editing it in SendLit.
Acceptance criteria
- Playground source lives in
codelitdev/sendlitand builds from the workspace@sendlit/email-editor. CI builds it. - It is live at editor.sendlit.app (or sendlit.app/editor) over HTTPS.
- It shows SendLit branding and logo, with no CourseLit name or links.
- The header links to the GitHub repo, the npm package and the sendlit.app embed page, and has a signup CTA to app.sendlit.app.
-
<title>, meta description, canonical URL and OG image are set as above. -
curl -I https://email-editor.courselit.app/anythingreturns301to the new URL with the path kept or mapped to/. - No Google Fonts links or requests, per site rule. Fonts are self-hosted, which means replacing the current
next/font/googleusage. Check this in the DevTools network tab: no requests tofonts.googleapis.comorfonts.gstatic.com. - Usable on mobile at 375px width: no horizontal page scroll, the toolbar and block panel can be reached, and a block can be edited and the result previewed.
- Lighthouse (mobile) scores are sane: Performance ≥ 80, and Accessibility, Best Practices and SEO ≥ 90.
- Phase 2: at least 3 samples (course welcome, newsletter, community digest) open from shareable links. JSON export and import round-trips a template unchanged.
- Phase 3: pasting an EmailBuilder.js JSON document opens it in the editor (see the importer sub-issue).
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestseverity: mediumNotable gap with a workaround, or competitive parityNotable gap with a workaround, or competitive parity
Type
Projects
- StatusShow more project fieldsBacklog
Activity