What I Built
I built an AI-powered Morning Dashboard that automatically updates my Notion workspace every single day with:
- 🌅 Good morning greeting with today's date
- 🌤️ Live local weather (Pretoria, South Africa)
- 📰 Latest tech news pulled automatically
- ✅ Daily tasks checklist
No manual work needed — just run the script and your whole day is organized in Notion!
Why I Built This
I wanted a tool that saves time every morning. Instead of checking 5 different apps, everything you need is in ONE place — your Notion dashboard.
How It Works
The app uses:
- Notion MCP API to write content directly into Notion
- Python to connect everything together
- BBC Tech News RSS Feed for live news
- wttr.in API for live weather
Every morning you run the script and Notion is automatically filled with fresh content!
The Code
import os
import requests
from datetime import datetime
from dotenv import load_dotenv
from notion_client import Client
import xml.etree.ElementTree as ET
load_dotenv()
NOTION_TOKEN = os.getenv("NOTION_TOKEN")
PAGE_ID = os.getenv("NOTION_PAGE_ID")
notion = Client(auth=NOTION_TOKEN)
def get_weather():
url = "https://wttr.in/Pretoria?format=3"
response = requests.get(url)
return response.text
def get_news():
url = "https://feeds.bbci.co.uk/news/technology/rss.xml"
response = requests.get(url)
root = ET.fromstring(response.content)
items = root.findall('.//item')[:5]
news = []
for item in items:
title = item.find('title').text
news.append(title)
return news
def update_notion_dashboard():
today = datetime.now().strftime("%A, %B %d %Y")
weather = get_weather()
news = get_news()
notion.blocks.children.append(
block_id=PAGE_ID,
children=[...] # Full code on GitHub
)
print("✅ Dashboard updated successfully!")
update_notion_dashboard()
What I Learned
- How to use the Notion API to write content programmatically
- How to connect multiple APIs together in Python
- How to build practical AI-powered workflows
What's Next
I plan to add:
- AI motivational quotes using Claude API
- Weekly goal tracking
- Calendar integration
This was built for the Notion MCP Challenge on DEV.to!
Top comments (0)