Morning Status Email
LiveDaily automated email with weather, project priorities, git commits, and habit checklist tracking.
PythonMJMLResendOpenClawOpen-MeteoGitHub API
What It Does
Every morning at 7 AM, Isaac gets an email containing:
- Weather — Current conditions, temperature, precipitation chance, humidity, and wind for Sioux Falls
- Top Priority — Current focus project with todo list and last 3 git commits
- Daily Checklist — Journal, read, and workout tracking with streaks
- Next Priorities — Upcoming projects in priority order
- My Projects — My own priority list (like this email system)
How It Works
The system is built on three components:
- Python Script — Gathers data from multiple sources: Open-Meteo API for weather, GitHub API for commits, local JSON files for projects and checklist
- MJML Template — A responsive email template with placeholders that gets filled with data, then compiled to bulletproof HTML
- OpenClaw Cron — Runs daily at 7 AM America/Chicago time, triggers the script, and sends via Resend
Telegram Integration
Isaac can update his checklist via Telegram by sending:
done journal— Mark journaling completedone read— Mark reading completedone workout— Mark workout completestatus— Check current checklist status
Streaks are tracked per habit and reset daily. The system handles the new day reset automatically.
Lessons Learned
- Use structured templates — MJML with clear placeholders beats regex on minified HTML every time
- GitHub API over local repos — No need to clone everything;
gh apiworks great for commit history - Open-Meteo > WTTR.IN — Proper precipitation probability instead of "0.0mm"
- Env vars in script — Cron runs isolated, so set API keys in the Python file, not globally