Overview
I had signed up for one too many newsletters and most of them buried the lede. I wanted one place that gave me everything I needed to know before I got out of bed. Morning Intelligence (originally World Monitor) is a single ~3,900-line Python file with no web framework that pulls 20+ live sources into one tabbed dashboard: GDELT conflict events on a map, USGS earthquakes, NASA EONET natural disasters, market indices, futures, sectors, the yield curve, currencies, crypto, insider trades, GitHub and HuggingFace trending, and fresh CVEs from NVD. It computes a DEFCON-style threat level and a country instability index from event density and tone, renders a dark HTML dashboard, and ships a briefing to Telegram.
It used to fire when my PC booted. Now it runs on an always-on Linux home server under a systemd timer at 7:00, so the brief arrives whether or not my desktop is awake. The AI executive summary still runs on my own GPU: the server calls an authenticated gateway on my desktop over my private network, the local model writes the summary, and the result comes back with no API keys and no cloud in the loop. A small feed service publishes the day’s data to my personal ops dashboard, so the same collection run feeds two surfaces.
A persistent Telegram bot mode also answers commands on demand, so “what happened overnight” is a message away rather than a browser tab.
Key Features
- Tabbed HTML dashboard (Morning Briefing, World, Finance, Tech) from one Python script
- Leaflet conflict map with GDELT events, USGS earthquakes, NASA EONET natural events
- Country instability index and DEFCON-style threat level from event density and tone
- Finance view: indices, futures, sectors, yield curve, crypto, insider trades, Fear & Greed
- Tech feed: GitHub trending, HuggingFace trending, Product Hunt, Stack Overflow, fresh CVEs
- AI executive summary written by a local model on my own hardware
- Runs unattended on a home Linux server via systemd timer, briefing via Telegram
Tech Stack
- Python 3 (stdlib + feedparser + yfinance, no web framework)
- systemd timer on a Debian home server
- Local LLM behind an authenticated gateway for the summary
- Telegram Bot API