The challenge
Send students a concise SMS with the next day's schedule using a simple, cron-driven runner. The goal was to create a lightweight, reliable automation that could run entirely from GitHub Actions while keeping configuration simple and auditable. I focused on clear formatting, timezone-safe scheduling, and safe handling of secrets so the system could be operated with minimal maintenance and clear observability.
The process
- How GitHub Actions cron works and how to self-test scheduled runs
- Handling GitHub Secrets safely in workflows
- Integrating Twilio for reliable SMS delivery
- Designing a small, testable resolver for parity/overrides and timezone handling
Stack
Future ideas
- Serve schedule from an external API instead of committing JSON
- Improve templating and localization for messages
- Add retries/backoff, monitoring and delivery metrics