Third time's a charm: Building a Daily Chief-of-Staff Brief with Codex, Telegram, and Scheduled Automation
- Ken Munson
- 4 days ago
- 2 min read

Executive Summary
In this mini-project, I rebuilt a personal “Daily Brief” system that sends me a Chief-of-Staff-style summary each morning through Telegram.
This was my third attempt at this idea. The first version, built with OpenClaw, took roughly 40 hours and ultimately proved too brittle. The second version, built with Claude Code, took closer to 15 hours but still did not become the stable, enduring system I wanted. This Codex-based build took about two hours and resulted in a working local automation that now runs from Windows Task Scheduler.
The finished system includes:
A Telegram-delivered daily brief
Scheduled weekday/weekend run times
Stock market index closes for DJIA, Nasdaq, and S&P 500
A five-day weather forecast
Google Calendar events for the next five days
U.S. federal holiday awareness
OpenAI-generated Chief-of-Staff summary text
Local logging, archive files, dry-run mode, health checks, and test coverage
Phase 1: Getting Telegram Delivery Working
The first milestone was getting a simple message delivered through Telegram. This involved creating a Telegram bot through BotFather, storing the bot token locally, discovering the correct chat ID, and sending a test message.
This phase exposed one of those small but very real automation problems: the BotFather token looked correct, but Telegram rejected it. After some careful debugging, we narrowed it down to a bad token entry, eventually resolved the issue, and verified that the bot could send messages successfully.
Phase 2: Making It Durable
Once Telegram delivery worked, Codex helped turn the project from “a script that sends a text” into something closer to personal infrastructure.
The system now has a health check, retry logic, logging, archived brief output, local status commands, token redaction helpers, dry-run modes, and a Windows Scheduled Task. I also adjusted the schedule to better match my real-life machine availability: 9:00 AM on weekdays and 10:00 AM on weekends.
This was an important realization: the brief is currently running locally from my Windows computer. That means the machine needs to be on and online. The scheduling choice matters.
Phase 3: Adding Real Daily Context
After the basic system was stable, we added the useful content that makes it feel like a real Chief-of-Staff brief:
Market closes for DJIA, Nasdaq, and S&P 500
Five-day weather forecast
Google Calendar events for the next five days
U.S. federal holidays, including Juneteenth
The final output is not just a checklist. It synthesizes local calendar context, weather, market data, holidays, and recurring personal reminders into a concise morning briefing.
Summary and Lessons Learned
The most striking part of this project was the difference in development experience. Earlier attempts took 40 hours and 15 hours. This one took roughly two, and the result is more robust.
The biggest lesson was that autonomy matters, but verification matters just as much. Codex did not merely write code. It iterated through failures, checked assumptions, inspected logs, added tests, improved scripts, and kept tightening the system until it worked. I could not believe the advance the AI has made in the last year, even the last six months.
This project also reinforced an important point about personal AI tooling: the value is not just in generating text. The value is in building small, dependable systems that make daily life easier. This Daily Brief is now one of those systems.




Comments