Projects Morning Status Email

Morning Status Email

Live

Daily 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:

  1. Python Script — Gathers data from multiple sources: Open-Meteo API for weather, GitHub API for commits, local JSON files for projects and checklist
  2. MJML Template — A responsive email template with placeholders that gets filled with data, then compiled to bulletproof HTML
  3. 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 complete
  • done read — Mark reading complete
  • done workout — Mark workout complete
  • status — 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 api works 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

Links