Commit Graph

64 Commits

Author SHA1 Message Date
Elie Habib
be485ad1c2 chore: switch license to AGPL-3.0, externalize Sentry DSN
- Replace MIT with AGPL-3.0-only to enforce attribution on derivatives
- Move hardcoded Sentry DSN to VITE_SENTRY_DSN env var
- Add null-coalesce guards for i18n legend keys and SVG viewBox
- Extend Sentry ignoreErrors with 7 additional noise patterns
2026-02-19 07:24:47 +04:00
Lib-LOCALE
f8270689a0 feat(i18n): comprehensive localization, RTL support, and regional feeds revamp 2026-02-18 10:38:17 +01:00
Elie Habib
b2509669a5 docs: add finance variant, Gulf FDI, tri-variant architecture to README 2026-02-17 16:52:33 +04:00
Sebastien Melki
8f8d07c3a1 docs: fix stale documentation across project
- CHANGELOG: add missing v2.3.5 and v2.3.6 entries
- README: update API edge function count (45+ → 60+), port count
  (84 → 83), desktop secret key count (15 → 17)
- DOCUMENTATION: fix version badge (2.1.4 → 2.3.6), CII monitored
  countries (20 → 22, add Brazil/UAE), add CNBC to live streams,
  fix vessel database count (50+ → 25+), fix port count (61 → 83),
  update news source count (80+ → 100+)
- DESKTOP_CONFIGURATION: update secret keys list from 13 to 17,
  add FINNHUB, URLHAUS, OTX, ABUSEIPDB, NASA_FIRMS keys
- Remove obsolete ROADMAP.md (all 5 proposed features are already
  implemented: geographic convergence, CII, temporal anomaly
  detection, trade route risk, infrastructure cascade)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 09:30:49 +02:00
seth
eaff3e817d chore: lint markdown
MD012 / no-multiple-blanks Multiple consecutive blank lines
MD022 / blanks-around-headings Headings should be surrounded by blank lines
MD032 / blanks-around-lists Lists should be surrounded by blank lines
2026-02-15 11:38:22 -08:00
Elie Habib
a31f81a0fe fix: filter trending noise, fix sidecar auth & restore tech panels — v2.2.6
- Expand SUPPRESSED_TRENDING_TERMS from 13 to ~170 entries to filter
  common English words (department, state, news, etc.) from intelligence
  findings
- Move sidecar admin endpoints (debug-toggle, traffic-log, env-update,
  local-status) before LOCAL_API_TOKEN auth gate — settings window sends
  bare fetch without token, causing silent 401 failures
- Restore Market Radar and Economic Indicators panels to tech variant
- Remove stale Documentation section from README
- Clean up .env.example cyber threat keys (handled internally)
- Bump v2.2.6
2026-02-15 20:00:17 +04:00
Elie Habib
f16c34b6a4 docs: add developer X/Twitter link to Support section 2026-02-15 19:29:02 +04:00
Elie Habib
071836d390 chore: move test harnesses from root to tests/ 2026-02-15 19:22:40 +04:00
Elie Habib
f91fb7c8ce docs: document cyber threats, trending keywords, oil analytics, population exposure, and entity index
Update README with 5 new How It Works sections and 10 inline updates
reflecting implemented features. Data layer count 29→30+, data sources
14→22, new Tech Stack and Roadmap entries.
2026-02-15 18:29:25 +04:00
Elie Habib
5facae7105 feat: add cyber threat map layer with Feodo Tracker + URLhaus integration
Plot live botnet C2 servers, malware distribution nodes, and malicious IPs
on the globe using free abuse.ch APIs (Feodo Tracker + URLhaus).

- Vercel edge API with triple-layer caching (Redis → memory → stale fallback)
- IP geolocation via ipwho.is + ipapi.co (HTTPS-compatible with Edge runtime)
- Severity-based color coding (critical=red, high=orange, medium=amber, low=yellow)
- Feature-gated behind VITE_ENABLE_CYBER_LAYER=true env var
- Frontend circuit breaker, data sanitization, 10min auto-refresh
- Tauri desktop support: 3 new secret keys (URLHAUS, OTX, AbuseIPDB)
- Full test suite (6 unit tests), e2e harness updates, popup + tooltip rendering
2026-02-15 16:52:24 +04:00
Elie Habib
b0e48f47f8 docs: add download badges and web app links to README
Shield.io badges for Windows, macOS ARM, and macOS Intel desktop downloads
pointing to the new /api/download redirect. Web app links restyled as badges.
2026-02-15 10:42:38 +04:00
Elie Habib
e1925e735c Consolidate variant naming and fix PWA tile caching
- Rename variant default from 'world' to 'full' across config files
- Replace all startups.worldmonitor.app references with tech.worldmonitor.app
- Add CARTO basemap tile caching to Workbox runtime config (basemaps.cartocdn.com)
2026-02-15 00:15:33 +04:00
Elie Habib
a661497bcc Add latest release badge to README 2026-02-14 21:39:37 +04:00
Elie Habib
a97157b9c5 Add reproducible cross-OS Tauri packaging workflow 2026-02-13 10:27:39 +04:00
Elie Habib
9bc39ad2d1 Address packaging review feedback for signing hooks and docs clarity 2026-02-13 10:18:45 +04:00
Elie Habib
47f36416ce Add reproducible desktop packaging commands and release checklist 2026-02-13 10:11:16 +04:00
Elie Habib
3c46110632 test: guard cluster cache initialization and document checks 2026-02-13 07:59:00 +04:00
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