Pony Express migration pending
Newsletter email generator. Four tabs: Preview, HTML Source, Stats, Unsubs. Parses a structured Google Doc (Subject / Preview text / Tracking slug / Newsletter copy), generates a 600px-max responsive HTML email, and pushes a draft broadcast to AWeber.
Original Google AppScript: 2026-03 Pony Express / Code.js + Sidebar.html + ClickReportCode.js + StatsCode.js + UnsubCode.js + TokenRefresh.js
This tool has been scaffolded in the toolkit but its logic has not yet been ported from the original Google AppScript.
Migration TODO
- Port `parseDoc()` — Subject/Preview/Tracking slug/Newsletter copy state machine
- Port `buildBodyHtml()` — inline image, button paragraph, two-column table, UTM tagging
- Port `buildEmailHtml()` — list-aware header logo + footer (MG / CCG / GeniusCash variants)
- Port Genius Stack alternate layout
- Port AWeber OAuth dance — use shared `AWeberClient` + per-user token storage
- Port Stats tab — recent broadcasts list, per-broadcast stats, push-to-sheet
- Port Unsubs tab — paginated unsubscriber fetch, time-series + histogram via Chart.js
- Port monthly click report — convert to a worker job triggered by Heroku Scheduler
- Replace `keepAweberTokenAlive` setInterval pattern with proper background refresh