Commit Graph

47 Commits

Author SHA1 Message Date
Elie Habib
c4509e8a69 docs: add self-hosting section to README
Explains that `vercel dev` is needed instead of `npm run dev` for
the API edge functions to work. Covers three deployment options
(Vercel, local with CLI, static frontend only) and platform notes
for Raspberry Pi/ARM users. Addresses #44.
2026-02-13 07:23:08 +04:00
Elie Habib
08f03f8ed3 Fix tooltip coverage, pulse scheduling, and map interaction defaults 2026-02-12 08:50:49 +04:00
Elie Habib
c876158abe Fix DeckGL map regressions and preserve perf optimizations 2026-02-12 08:18:01 +04:00
Sebastien Melki
7382f19a47 docs: add stargazers growth to the bottom of the README file (#40) 2026-02-11 21:21:06 +04:00
Elie Habib
06d2068da8 Expand README with market intelligence, architecture, and security docs
- Add Market & Crypto Intelligence data layer section
- Document macro signal analysis (7-signal BUY/CASH verdict, VWAP, Mayer Multiple)
- Document stablecoin peg monitoring and BTC ETF flow estimation algorithms
- Add strategic theater posture assessment (9 theaters)
- Add infrastructure cascade BFS modeling with chokepoint dependencies
- Add browser-side ML pipeline section (Transformers.js capabilities)
- Add dual-deployment architecture diagram (Vercel + Railway)
- Add caching architecture section (3-tier with stale-on-error)
- Add security model section (8-layer defense table)
- Update edge function count (30+ → 45+), tech stack, env vars
- Add Cmd+K search, virtual scrolling, UCDP/HAPI to capabilities
2026-02-11 19:07:39 +04:00
Elie Habib
e34b1ca0a3 feat: satellite fires layer, temporal baseline, cleanup dead code, update README
- Add NASA FIRMS satellite fire detection map layer and panel
- Add temporal baseline anomaly detection (Welford's algorithm, Redis-backed)
- Wire signal aggregator with fires, temporal anomalies
- Remove 10 dead service files and unused markdown docs
- Deduplicate RSS feeds, clean up story templates
- Fix data freshness, status panel, and verification checklist
- Create og-image.png for social sharing meta tags
- Update README with signal aggregation, source tiering, edge architecture
- Bump version to 2.1.4
2026-01-30 06:07:40 +00:00
Elie Habib
79368dc4e0 Add AI threat classification, map progressive disclosure, and bug fixes
- Hybrid keyword + Groq LLM classification with Redis cache (24h TTL)
- Progressive disclosure: bases/nuclear/datacenters hidden at low zoom
- Label deconfliction: BREAKING badges suppress overlaps by priority
- Zoom-adaptive opacity and marker sizing for reduced visual clutter
- Fix unbounded summary growth in alert merging (cap at 3 items)
- Fix Strategic Risk Panel showing "Insufficient Data" on startup
- Remove dead renderLimitedData code
- Expand README with algorithms, architecture, and new features
- Bump version to 2.1.2
2026-01-29 19:29:40 +04:00
Elie Habib
ad4053e069 Streamline README for directory submissions
- Condense README from 3,896 lines to ~230 lines
- Move full documentation to docs/DOCUMENTATION.md
- Add social badges (stars, forks, license, last commit)
- Add 'Why World Monitor?' value proposition table
- Add Quick Start one-liner
- Use collapsible sections for data layers
- Add 'Support the Project' call to action
- Link to full docs throughout
2026-01-26 22:40:32 +04:00
Elie Habib
04f3564788 Modernize panel UI and expand README documentation
UI Improvements:
- CII Panel: Replace dated bar chart emoji with modern radar scan animation
- Strategic Posture: Compact chip-based layout with air+naval on same row
- Add rotating scan ring, pulsing dot, and source chip indicators
- Inline stat display for expanded theaters (AIR/SEA domain rows)

README Documentation:
- Add Strategic Posture Analysis section with 9 theater definitions
- Document strike capability assessment thresholds
- Add naval vessel integration and classification details
- Document server-side risk score API with Redis caching
- Add CII contextual boost documentation (hotspot, news, focal)
- Update completed features list
- Add project structure entries for new components
2026-01-26 17:34:47 +04:00
Elie Habib
db0c4a6019 Restructure README: geopolitical variant before tech variant 2026-01-25 22:42:53 +04:00
Elie Habib
8f218428f1 Update branding: World Monitor v2 with AI focus
- README: Title to "World Monitor v2", AI-powered description
- index.html: Title "Global Situation with AI Insights"
- All meta tags updated (og, twitter, JSON-LD)
- Added AI keywords and features
- Updated site.webmanifest with AI branding
2026-01-25 22:38:15 +04:00
Elie Habib
b223f59f5b Update README screenshot to new-world-monitor.png 2026-01-25 22:35:43 +04:00
Elie Habib
0375796ee4 Fix Military Surge Detection documentation to match actual implementation
The original documentation incorrectly described surge detection as
operator-count based. The actual algorithm uses:
- Baseline-based detection (2x historical activity = surge)
- Separate foreign presence detection for operators outside home regions
- Theater-based grouping with 48-hour baseline window
2026-01-25 22:27:05 +04:00
Elie Habib
3f037ba38a Expand README with comprehensive documentation for intelligence features
- Add AI Insights Panel section: summarization fallback chain, headline scoring, sentiment analysis
- Add Focal Point Detector section: intelligence synthesis, scoring algorithm, urgency classification
- Add Natural Disaster Tracking section: GDACS integration, EONET merge, deduplication
- Add Military Surge Detection section: surge criteria, severity levels, news correlation
- Add Service Status Monitoring section: external service health tracking
- Add Signal Aggregator section: central signal collection, country grouping, convergence
- Add Browser-Based ML section: ONNX Runtime, fallback strategy, lazy loading
- Update Tech Stack: add deck.gl + MapLibre GL for WebGL map rendering
- Update project structure: add new services (focal-point-detector, signal-aggregator, etc.)
- Update components: add DeckGLMap, MapContainer, InsightsPanel, ServiceStatusPanel
- Update Roadmap: add recently completed features
- Add Entity Registry Architecture section: lookup indexes, entity types
2026-01-25 22:08:40 +04:00
Elie Habib
10e1e4b525 Add acknowledgment for fai9al's Tech Monitor inspiration 2026-01-23 12:09:28 +04:00
Elie Habib
99fdcf5a4c Add System Architecture section to README
- Add data flow diagram showing pipeline from sources to rendering
- Document update cycles for different data types
- Add error handling strategy (circuit breakers, graceful degradation)
- Document build-time optimization (code splitting, variant builds)
- Add security considerations section (client-side, API, privacy)
2026-01-23 11:35:45 +04:00
Elie Habib
cd1f8caae6 Update README with Tech Monitor docs, bump version to 1.7.0
- Add Platform Variants section documenting World/Tech Monitor
- Add Tech Monitor data layers (Tech HQs, Startup Hubs, Cloud Regions, etc.)
- Add Regional Tech HQ coverage table (Silicon Valley, MENA, Europe, Asia)
- Add Marker Clustering section explaining grouping logic
- Add completed features to Roadmap (Tech Monitor, clustering, Learning Mode)
- Update version badge from 1.5.1 to 1.7.0
- Replace Earthquake with Datacenter in tech variant map legend
2026-01-23 11:34:04 +04:00
Elie Habib
5d037c4132 Add tech variant with expanded global tech ecosystem data
- Add variant system (full/tech) with VITE_VARIANT env var
- Create tech-geo.ts with 465 entries:
  - 295 TECH_HQS (FAANG, unicorns across US, Europe, MENA, India, SEA, China, LATAM, Africa)
  - 112 ACCELERATORS (YC, Techstars, 500 Global, regional accelerators)
  - 38 STARTUP_HUBS (mega/major/emerging tiers)
  - 20 CLOUD_REGIONS (AWS, GCP, Azure, Cloudflare)
- Add map layers: startupHubs, cloudRegions, accelerators, techHQs
- Add tech-specific RSS feeds and panels
- Fix YouTube channel fallback IDs (Yahoo Finance, NASA TV, TBPN)
- MENA expansion: 50+ companies (UAE, Saudi, Egypt, Jordan)
- India: 40+ unicorns (Flipkart, PhonePe, Razorpay, etc)
- SEA: 25+ companies (Grab, GoTo, J&T Express, etc)
- LATAM: 35+ companies (Nubank, MercadoLibre, Bitso, etc)
2026-01-22 23:18:32 +04:00
Elie Habib
e05786291d Update README with recent features and expanded documentation
- Update version badge to 1.5.0
- Document CII Learning Mode (15-minute warmup with visual indicators)
- Add Entity Extraction System section (company/country/leader detection)
- Add Signal Context section ("Why It Matters" explanations)
- Expand Data Freshness with core vs optional sources
- Document Live News Stream optimizations (YouTube Player API, idle detection)
2026-01-20 12:02:49 +04:00
Elie Habib
4c62341c51 Update README with recent features and documentation
- Update version badge to 1.4.2
- Document Intelligence Findings badge with click-to-detail behavior
- Add CII scoring bias prevention section (log scaling, conflict floors)
- Document alert warmup period preventing startup false positives
- Add protest map filtering (riots/high severity only)
- Document build-time version sync via Vite define
- Add map marker design section (label-free interaction patterns)
- Update Roadmap completed section with 5 new features
2026-01-18 13:56:04 +04:00
Elie Habib
c2ade79cbd Update README: reflect actual regional feed sources (Google News aggregation) 2026-01-18 10:21:15 +04:00
Elie Habib
4a7942e6ed Update README with comprehensive feature documentation and fix regional feeds
README updates:
- Document spaceports layer and critical minerals deposits
- Add regional intelligence panels section (Africa, LatAm, Asia-Pacific, Energy)
- Document undersea cable activity monitoring feature
- Expand news clustering section with inverted index optimization details
- Add data freshness tracking documentation
- Expand entity coverage to 100+ with sector breakdown
- Document mobile experience optimizations

Feed fixes:
- Replace blocked regional RSS feeds (403 errors) with Google News RSS searches
- Add reliable fallback feeds (BBC regional, News24, SCMP, Guardian)
- Fix Africa, Latin America, Asia-Pacific, and Energy panels news availability
2026-01-18 10:19:26 +04:00
Elie Habib
7e3271ef2f Add entity-aware market correlation and signal deduplication
- Entity knowledge base with 45+ entities (companies, commodities, crypto, countries, people)
- Entity index for O(1) lookups by alias, keyword, sector, type
- News-to-entity matching for intelligent market-news correlation
- New signal type: explained_market_move (when news correlates with price action)
- Improved silent_divergence (only fires after exhaustive entity search)
- Per-signal-type TTL deduplication (6hr for market signals vs 30min default)
- README documentation for all new features and algorithms
2026-01-17 22:20:19 +04:00
Elie Habib
5bbe126484 Fix EIA API routing with Vercel catch-all route 2026-01-16 15:41:48 +04:00
Elie Habib
2532cd2106 Add data freshness tracking for Oil/Spending + update README
- Add 'oil' and 'spending' as separate DataSourceIds in data-freshness
- Update oil-analytics.ts to report to 'oil' source
- Update usa-spending.ts to report to 'spending' source
- Add EIA and USASpending to StatusPanel API list
- Update README: version 1.3.8, new API dependencies, project structure
- Document EIA_API_KEY in optional API keys section
2026-01-16 13:15:43 +04:00
Elie Habib
10e479c16a Add Railway relay architecture and fix OpenSky OAuth2 documentation
- Document Railway relay infrastructure (AIS, OpenSky, RSS proxy)
- Correct OpenSky auth from Basic Auth to OAuth2 client credentials
- Add environment variables documentation for Railway deployment
2026-01-15 09:00:06 +04:00
Elie Habib
332c153a5b Expand README with undocumented features and system architecture
- Add Panel Management section (drag-to-reorder, visibility, persistence)
- Add Mobile Experience section (detection, reduced layers, touch gestures)
- Add Energy Flow Detection section (pipeline keywords, flow drop signals)
- Add Cross-Module Integration section (data flow architecture, dependencies)
- Add Refresh Intervals section (polling schedule, WebSocket streams)
2026-01-15 08:59:30 +04:00
Elie Habib
f713262bcd Add Wingbits to status panel and update README documentation
- Add Wingbits as tracked data source in data-freshness.ts
- Report Wingbits enrichment status to data freshness tracker
- Add Aircraft Enrichment section to README with classification algorithm
- Add Wingbits to API Dependencies and Optional API Keys
- Add wingbits.ts and wingbits.js to project structure
- Add acknowledgment for Yanal at Wingbits for API access
- Update version badge to 1.3.4
2026-01-15 08:58:15 +04:00
Elie Habib
650a25ba8c Bump version to 1.3.3 2026-01-13 23:05:18 +04:00
Elie Habib
af6adbf1cf Update README with v1.3.2 improvements
- Add live demo link and version badge
- Document OpenSky authentication requirements
- Add OpenSky credentials to API Dependencies table
- Update Roadmap with recent completed features
2026-01-13 22:34:53 +04:00
Elie Habib
b2fb457915 feat: cross-module intelligence integration (v1.4)
New Intelligence Services:
- Country Instability Index (CII) - 6-component scoring system
- Geographic Convergence Detection - multi-signal spatial analysis
- Infrastructure Cascade Analysis - dependency graph propagation
- Cross-Module Integration - unified alerts and strategic overview

New Panels:
- CIIPanel - country instability dashboard with trends
- CascadePanel - infrastructure impact visualization
- StrategicRiskPanel - composite risk gauge with ring visualization

UX Improvements:
- Strategic Risk panel: ring gauge, 2x2 metrics grid, better spacing
- Improved empty states and section headers

Documentation:
- Updated README with algorithm details and design principles
- Cleaned up completed brainstorming docs

Bug Fixes:
- CII priority now handles negative changes correctly
- Initial trend shows "stable" instead of "de-escalating"
- Added detectConvergence wrapper function
2026-01-13 11:10:29 +04:00
Elie Habib
ac3d897384 Add comprehensive ROADMAP.md with top 5 intelligence features
Top 5 priority features for geopolitical analysts:
1. Multi-Signal Geographic Convergence (I&W alerting)
2. Country Instability Index (composite risk scoring)
3. Temporal Anomaly Detection (baseline deviation)
4. Trade Route Risk Scoring (supply chain vulnerability)
5. Infrastructure Cascade Visualization (dependency mapping)

Also documents 30+ free APIs/RSS feeds for future integration:
- Economic: World Bank, IMF, UN Comtrade, OECD, BIS
- Sanctions: OFAC SDN, EU, UN, OpenSanctions
- Food security: FAO GIEWS, Food Price Monitor
- Humanitarian: UNHCR, ReliefWeb, IOM DTM
- Think tanks: RUSI, Chatham House, CFR, ECFR, etc.
2026-01-13 07:42:40 +04:00
Elie Habib
cb790456b6 Update README with ports layer documentation 2026-01-13 07:36:58 +04:00
Elie Habib
2b9d6eb479 v1.3: Merge earthquakes + NASA EONET into unified NATURAL layer
- Add NASA EONET API integration for storms, wildfires, volcanoes, floods
- Combine USGS earthquakes + EONET events under single NATURAL toggle
- Filter EONET earthquakes to avoid duplicates (USGS is more authoritative)
- Load both data sources in parallel for faster initial render
- Update help text, CSS layer attributes, and zoom thresholds
- Version bump to 1.3.0
2026-01-12 22:01:44 +04:00
Elie Habib
bbdf2558ea Add Limitations & Caveats section to README
Documents that this is a proof of concept with:
- Data completeness gaps without paid accounts (ACLED, OpenSky)
- AIS coverage bias toward European/Atlantic waters
- Some data sources blocking cloud providers
2026-01-11 17:51:27 +04:00
Elie Habib
1d85eeb003 Document AIS EU coverage bias, update README with feed changes, remove debug logging 2026-01-11 17:45:37 +04:00
Elie Habib
3a3609864a Update README with Live News panel, remove Congress Trades references
- Add Live News Streams section documenting 7 YouTube channels
- Add Politico, The Telegraph, Al Arabiya to news sources list
- Add LiveNewsPanel.ts to project structure
- Remove Congress Trades from StatusPanel feed list
- Update Data Export to mention CSV/JSON
2026-01-11 16:26:44 +04:00
Elie Habib
59411c2bbe Update README with GDELT Doc API documentation 2026-01-11 15:14:01 +04:00
Elie Habib
b4d4cd6041 Fix ACLED API endpoint URL and update docs
- Change ACLED API URL from api.acleddata.com to acleddata.com/api
- Update README to reflect Finnhub as primary stock data source
2026-01-11 15:00:38 +04:00
Elie Habib
fa5b7ab20e Add comprehensive Contributing guide to README
Covers:
- Fork and clone workflow
- Code style conventions (TypeScript, architecture, security, performance)
- PR submission process with examples
- Good PR practices table
- Types of contributions welcome
- Review process
- Development tips for adding layers and proxies
2026-01-11 11:42:02 +04:00
Elie Habib
acf3bc8a63 Expand README with comprehensive feature documentation
New sections:
- Security & Input Validation (XSS prevention, proxy validation)
- Pentagon Pizza Index (DEFCON alerting, GDELT tension pairs)
- Military Tracking (vessels via MMSI, aircraft via OpenSky)
- Related Assets (infrastructure context for news events)
- Activity Tracking (new item detection, visual indicators)
- Performance Optimizations (Web Workers, virtual scrolling)
- Shareable Links (URL state encoding)

Updated:
- Tech Stack table with all technologies
- Project Structure with new files (sanitize, workers, military)
- API Dependencies with OpenSky and PizzINT
- Optional API Keys section
2026-01-11 11:38:15 +04:00
Elie Habib
5650ba59ec Fix ACLED token exposure - move to server-side proxy
Security fix: ACLED API token was embedded in client bundle

Changes:
- Create api/acled.js serverless proxy with token kept server-side
- Add 10-minute cache to reduce API calls
- Add rate limiting (10 req/min per IP)
- Return only needed fields to client
- Update protests.ts to use proxy instead of direct API calls
- Rename env var: VITE_ACLED_ACCESS_TOKEN -> ACLED_ACCESS_TOKEN

The token is now only accessible server-side (no VITE_ prefix).
2026-01-11 11:13:26 +04:00
Elie Habib
bd8d4ea11b Add data attribution section and fix OpenSky OAuth2 endpoint
- Add comprehensive Data Attribution section to README with proper
  citations for all data sources (OpenSky, ACLED, GDELT, CoinGecko,
  Yahoo Finance, USGS, FRED, Cloudflare Radar, etc.)
- Add Acknowledgments section crediting Reggie James (@HipCityReg)
  for the original dashboard concept inspiration
- Fix OpenSky OAuth2 token endpoint URL (was using wrong endpoint)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 08:28:06 +04:00
Elie Habib
ff5d89db81 Add screenshot to README
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 17:45:11 +04:00
Elie Habib
6c9015dda0 Comprehensive README documentation update
Added documentation for previously undocumented features:
- Maritime Intelligence: AIS tracking, chokepoint monitoring, dark ship detection
- Social Unrest Tracking: ACLED + GDELT multi-source corroboration
- Aviation Monitoring: FAA delays, ground stops, severity thresholds
- Fault Tolerance: Circuit breaker pattern with graceful degradation
- Conditional Data Loading: Layer-aware API calls
- Prediction Market Filtering: Geopolitical relevance filtering

Updated data counts and structure:
- 55 undersea cables (was 6)
- 111 AI datacenters ≥10k GPUs
- 220+ military bases
- 45+ RSS feeds
- 18 toggleable map layers

Added API key documentation and optional service configuration.

README: 363 → 656 lines (+80%)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 17:16:50 +04:00
Elie Habib
730dee0d02 Expand README with comprehensive documentation
- Signal Intelligence: convergence, triangulation, velocity spikes
- Source Intelligence: tier system and type classification
- Algorithms: Jaccard clustering, Z-score deviation, sentiment analysis
- Dynamic hotspot activity explanation
- Custom monitors documentation
- Snapshot system details
- Design philosophy section
2026-01-09 23:07:35 +04:00
Elie Habib
b19f026a99 Add comprehensive README documentation 2026-01-09 22:50:32 +04:00