How tinashe2023/personal-intelligence-hub works
PIOS is a Next.js personal dashboard aggregating operational metrics and external information. The user-facing flow is dashboard → API routes → domain integrations → displayed results; a separate scheduled collection flow persists selected data, while AI routes process content and expose cached insights. The README documents the major dashboard capabilities and scheduler; sampled route code confirms several API-to-library and collection-to-storage calls, but not the page’s exact request wiring or scheduler internals.
Main entry points: route.js Scheduled collection · page.js Dashboard UI · news.js News feeds · research.js Research papers
Components 34
Dashboard and API
- Dashboard UI
app/page.js - System API
app/api/system/route.js - Weather API
app/api/weather/route.js - News API
app/api/news/route.js - Email API
app/api/email/route.js - Research API
app/api/research/route.js - YouTube API
app/api/youtube/route.js - Analytics API
app/api/analytics/route.js
Dashboard domains
- System metrics
lib/system.js - Weather data
lib/weather.js - News feeds
lib/news.js - Gmail filtering
lib/gmail.js - Research papers
lib/research.js - YouTube metrics
lib/youtube.js - GA4 metrics
lib/analytics.js
Collection and AI
- Scheduled collection
app/api/cron/collect/route.js - Scheduled AI
app/api/cron/process/route.js - AI processing API
app/api/ai/process/route.js - Cached insights API
app/api/ai/insights/route.js - AI processor
lib/ai/processor.js - AI cache access
lib/ai/cache.js
Persistence
- MongoDB
lib/mongodb.js - System metrics model
models/SystemMetric.js - Weather model
models/WeatherData.js - News model
models/NewsItem.js - Research model
models/ResearchPaper.js - AI cache model
models/AICache.js
External services
- Open-Meteo
- News provider
- Gmail
- Semantic Scholar
- YouTube service
- Google Analytics
Other components
- Dashboard user
Connections 39
- Dashboard user → Dashboard UI: views
- Dashboard UI → System API: requests metrics
- Dashboard UI → Weather API: requests weather
- Dashboard UI → News API: requests news
- Dashboard UI → Email API: requests email
- Dashboard UI → Research API: requests research
- Dashboard UI → YouTube API: requests analytics
- Dashboard UI → Analytics API: requests analytics
- System API → System metrics: calls
- Weather API → Weather data: calls
- News API → News feeds: calls
- Email API → Gmail filtering: calls
- Research API → Research papers: calls
- YouTube API → YouTube metrics: calls
- Analytics API → GA4 metrics: calls
- Scheduled collection → System metrics: collects
- Scheduled collection → Weather data: collects
- Scheduled collection → News feeds: collects
- Scheduled collection → Research papers: collects
- Scheduled collection → MongoDB: connects
- Scheduled collection → System metrics model: writes metrics
- Scheduled collection → Weather model: writes weather
- Scheduled collection → News model: reads and writes
- Scheduled collection → Research model: reads and writes
- Scheduled AI → News feeds: fetches news
- Scheduled AI → Research papers: fetches papers
- Scheduled AI → AI processor: processes content
- AI processing API → News feeds: fetches news
- AI processing API → Research papers: fetches papers
- AI processing API → AI processor: processes content
- Cached insights API → AI cache access: reads insights
- AI cache access → AI cache model: reads cache
- System metrics → System metrics model: returns local metrics
- Weather data → Open-Meteo: fetches weather
- News feeds → News provider: fetches articles
- Gmail filtering → Gmail: fetches messages
- Research papers → Semantic Scholar: fetches papers
- YouTube metrics → YouTube service: fetches channel stats
- GA4 metrics → Google Analytics: queries reports