diff --git a/README.md b/README.md
index a9bb0ff..ae6bcd6 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# Intelligence Terminal
-**Self-hosted intelligence dashboard. 27 open sources. Docker-first. No telemetry.**
+**Modrinth-app-inspired operator dashboard. 27 open sources. Docker-first. No telemetry.**
[](https://git.wilkensxl.de/MrSphay/intelligence-terminal)
[](https://git.wilkensxl.de/MrSphay/-/packages/container/intelligence-terminal/latest)
@@ -34,8 +34,10 @@
> Runtime data stays in your configured `runs/` volume and API keys are operator-owned.
> **Source:** [git.wilkensxl.de/MrSphay/intelligence-terminal](https://git.wilkensxl.de/MrSphay/intelligence-terminal)
> Pull the image or clone the repository to run Intelligence Terminal on your own infrastructure.
+>
+> **Design transparency:** the dashboard is inspired by app-style marketplace UX patterns, especially dark desktop app shells with a strong left navigation. It does not use Modrinth branding, logos, or assets and is not affiliated with Modrinth.
-Intelligence Terminal pulls satellite fire detection, flight tracking, radiation monitoring, satellite constellation tracking, economic indicators, live market prices, conflict data, sanctions lists, and social sentiment from 27 open-source intelligence feeds in parallel, every 15 minutes, and renders everything on a single self-contained dashboard.
+Intelligence Terminal pulls satellite fire detection, flight tracking, radiation monitoring, satellite constellation tracking, economic indicators, live market prices, conflict data, sanctions lists, and social sentiment from 27 open-source intelligence feeds in parallel, every 15 minutes, and renders everything in a dark, app-style operator workspace.
Hook it up to an LLM and it becomes a **two-way intelligence assistant**: pushing multi-tier alerts to Telegram and Discord when something meaningful changes, responding to commands like `/brief` and `/sweep` from your phone, and generating trade ideas grounded in real cross-domain data.
@@ -301,26 +303,21 @@ Gitea Actions publishes the same image automatically when the repository secret
## What You Get
### Live Dashboard
-A self-contained Jarvis-style HUD with:
-- **3D WebGL globe** (Globe.gl) with atmosphere glow, star field, and smooth rotation — plus a classic flat map toggle
-- **9 marker types** across both views: fire detections, air traffic, radiation sites, maritime chokepoints, SDR receivers, OSINT events, health alerts, geolocated news, conflict events
-- **Animated 3D flight corridor arcs** between air traffic hotspots and global hubs
-- **Region filters** (World, Americas, Europe, Middle East, Asia Pacific, Africa) — rotates the globe or zooms the flat map
-- **Live market data** — indexes, crypto, energy, commodities via Yahoo Finance (no API key needed)
-- **Risk gauges** — VIX, high-yield spread, supply chain pressure index
-- **OSINT feed** — English-language posts from 17 Telegram intelligence channels (expandable)
-- **News ticker** — merged RSS + GDELT headlines + Telegram posts, auto-scrolling
-- **Sweep delta** — live panel showing what changed since last sweep (new signals, escalations, de-escalations with severity)
-- **Cross-source signals** — correlated intelligence across satellite, economic, conflict, and social domains
-- **Nuclear watch** — real-time radiation readings from Safecast + EPA RadNet
-- **Space watch** — CelesTrak satellite tracking: recent launches, ISS, military constellations, Starlink/OneWeb counts
-- **Leverageable ideas** — AI-generated trade ideas (with LLM) or signal-correlated ideas (without)
+A self-contained app-style operator dashboard with dark mode by default, a large left navigation rail, rounded content surfaces, and view-specific panels:
+- **Home** - sweep status, alert posture, latest feed, source count, macro summary, and high-level signal state
+- **Worldview** - Globe.gl 3D globe or flat map, regional focus controls, 9 marker types, flight corridors, and layer focus/hide controls
+- **Sources** - sensor grid, source health, API-key degradation signals, and transparent partial-data states
+- **Signals** - cross-source signals, sweep delta, scenario watchlist, OSINT feed, and escalation/de-escalation context
+- **Markets** - live indexes, crypto, energy, commodities, VIX, high-yield spread, supply-chain pressure, and LLM-assisted ideas
+- **Ops** - browser-triggered terminal actions, performance mode, Telegram/Discord operator workflows, and system status
+
+The UI keeps the existing operational features: `/api/data`, SSE live refresh, globe/flat map mode, layer focus/hide, terminal actions, low-performance mode, LLM output, Telegram and Discord alerting, and scenario watchlist data.
### Performance Modes
The `VISUALS FULL` / `VISUALS LITE` button in the top bar only changes rendering behavior - it does **not** remove data sources or reduce sweep coverage.
When you switch to **VISUALS LITE**, the dashboard:
-- Disables decorative background effects such as the radial/grid overlays and scanlines
+- Disables decorative background effects such as radial and grid overlays
- Removes expensive blur/backdrop-filter effects on panels and overlays
- Stops non-essential animations like the logo ring blink, conflict rings, and corridor flow effects
- Disables globe auto-rotation and turns off animated flight-arc dashes
@@ -508,7 +505,7 @@ intelligence-terminal/
├── dashboard/
│ ├── inject.mjs # Data synthesis + standalone HTML injection
│ └── public/
-│ └── jarvis.html # Self-contained Jarvis HUD
+│ └── jarvis.html # Self-contained app-style operator dashboard
│
├── lib/
│ ├── llm/ # LLM abstraction (8 providers, raw fetch, no SDKs)
@@ -647,7 +644,7 @@ When running `npm run dev`:
| Endpoint | Description |
|----------|-------------|
-| `GET /` | Jarvis HUD dashboard |
+| `GET /` | App-style operator dashboard |
| `GET /api/data` | Current synthesized intelligence data (JSON) |
| `GET /api/health` | Server status, uptime, source count, LLM status |
| `GET /events` | SSE stream for live push updates |
@@ -726,16 +723,16 @@ Check these in order:
## Screenshots
-The `docs/` folder contains dashboard screenshots referenced by this README:
+The `docs/` folder contains dashboard screenshots referenced by this README. The hero screenshot has been refreshed for the app-style shell; regenerate the supporting map/globe images from a running instance when those views materially change.
| File | Description |
|------|-------------|
-| `docs/dashboard.png` | Full dashboard — hero image at the top of this README |
-| `docs/boot.png` | Cinematic boot sequence animation |
-| `docs/map.png` | D3 world map with marker types and flight arcs |
+| `docs/dashboard.png` | Full operator dashboard - hero image at the top of this README |
+| `docs/boot.png` | Boot sequence animation |
+| `docs/map.png` | Worldview map with marker types and flight arcs |
| `docs/globe.png` | 3D WebGL globe view with atmosphere glow and markers |
-To update them: run the dashboard, wait for a sweep to complete, then use your browser's DevTools (`F12` → `Ctrl+Shift+P` → "Capture full size screenshot") or a tool like [LICEcap](https://www.cockos.com/licecap/) for GIFs.
+For a fresh capture, run the dashboard, wait for a sweep to complete, then use your browser's DevTools (`F12` -> `Ctrl+Shift+P` -> "Capture full size screenshot") or a tool like [LICEcap](https://www.cockos.com/licecap/) for GIFs.
---
diff --git a/dashboard/public/jarvis.html b/dashboard/public/jarvis.html
index cb0b228..d3efaac 100644
--- a/dashboard/public/jarvis.html
+++ b/dashboard/public/jarvis.html
@@ -3,9 +3,9 @@
@@ -1603,7 +1844,12 @@ function renderLower(){
${ideasHtml}
FOR INFORMATIONAL PURPOSES ONLY. This is not financial advice, a recommendation to buy or sell any security, or a solicitation of any kind. All signal-based observations are derived from publicly available OSINT data and should not be relied upon for investment decisions. Consult a licensed financial advisor before making any investment. Past performance does not guarantee future results.
Sources that require API keys degrade visibly here while the rest of the sweep continues. The dashboard stays useful with partial data instead of hiding failures.