Morning Report
Ashton's Projects
•2025-07-14


View the repo
Description
This service was built in a weekend to simplify my morning routine. The reports sent by this service drastically reduces my screen time when I wake up, leading to a healthier and better informed start to my day.
Tech Stack
This application was built using the following technologies:
- Python 3.12
- Notion Client API
- Google Gmail API
- Microsoft Autogen AgentChat
- Open AI Chat Completion Agent
- OpenWeather Weather API
- The News API
Product
The service leverages Open AI chat agents to query API endpoints and interpret their JSON responses into digestible summaries for the following subjects:
- Weather
- News
- Tasks
There is one agent designated to each subject, each provided with "tools" to fulfill the request of the prompt. For example, the WeatherAgent is provided with a get_weather tool, a Python function, that queries an API endpoint. The user, in our case the orchestrator function, asks the WeatherAgent to get the weather for 3 cities in central Pennsylvania. The WeatherAgent knows it must call the get_weather method three times, one for each city, as the parameter of get_weather is the city name.
The JSON data from each tool is summarized and provided back to the user in markdown format. Each piece of markdown is then provided to the final agent, the MailerAgent. This agent takes the markdown and inserts it into HTML markup. In the prompt, I chose only to ask that the color scheme include teals and blues to ensure that the agent has enough freedom to change up the styling each day.
The email is sent via the Gmail API, from my email and to my email, each morning at 10 AM UTC, or 5 AM EST (it can also be triggered manually). I opted to deploy the mailer via a cron job service from Render.com due to their low compute costs.
Outcome
During a Learning Day at my Siemens DISW internship, there was a session where a Microsoft technical employee gave an overview of what was discussed during the recent Microsoft Build keynote. During the presentation, a dominating theme was agentic AI, a field that I was completely foreign to. I asked the presenter what tools I could explore in my own time to gain an understanding of these tools, and he recommended Autogen, Microsoft's open source framework for building AI agents and applications.
While I was unsure initially of how I would enjoy building an agentic application, I quickly realized that AI agents were amazing tools, and that they were fun to set up, use, and learn about. Throughout building this service, I gained an overwhelming feeling that my code was alive. That is a feeling I will continue chasing.