IND Atlas is an advanced Open Source Intelligence (OSINT) and situational awareness dashboard engineered specifically for real-time monitoring of Indian topography, media streams, and infrastructure. Designed to mimic a high-stakes tactical command center (HUD), the platform aggregates massive amounts of high-latency visual data, textual intelligence, and atmospheric conditions into a single, cohesive, non-scrolling interface.
- Engine: Powered by
React-Leafletmapped over custom dark-themed CartoCDN tiles to reduce eye strain and maintain the HUD aesthetic. - Topography: Dynamically parses and renders complex GeoJSON boundary data covering all Indian States and Districts.
- Live Nodes: Features real-time pulsing telemetry markers mapped to the precise GPS coordinates of active surveillance and media streams.
- Massive Array: Monitors over 25+ critical feeds simultaneously. Categories include National News HQs (New Delhi), Regional News (Maharashtra, UP), high-traffic transit junctions, and major temple complexes (Kashi Vishwanath, ISKCON).
- The "Unbreakable" Bypass Proxy: YouTube actively blocks third-party embedding for 24/7 channel streams. To circumvent this, IND Atlas utilizes a custom-built Next.js serverless proxy (
/api/yt-live).- The API intercepts requests and performs a stealth headless search against YouTube.
- It dynamically extracts the canonical
videoIdof the current live broadcast. - It executes a
307 Temporary Redirectstraight to the unrestricted embed endpoint, ensuring feeds never display "Video Unavailable".
- HUD Wrappers: Every camera card is encased in a custom CSS wrapper featuring CRT scanlines, active
RECblinkers, timestamp telemetry, and lat/lon coordinates.
- Data Ingestion: Utilizes
@tanstack/react-queryto continuously poll and sanitize RSS feeds from major Indian news outlets (NDTV, Times of India, Indian Express) via a custom/api/rssproxy. - Analysis Engine: Pipelined through the Groq API utilizing the blazing-fast Llama-3-8b-8192 model.
- Automated Briefings: The AI processes raw text to generate structured intelligence briefs, Threat Matrices, Resilience Scores, and sector-specific Situation Reports.
- Privacy-First BYOK: Implements "Bring Your Own Key" architecture. API keys are stored strictly in the client's
localStorageand are never transmitted to backend databases.
- Micro-Level Data: A 24/7 scrolling ticker at the top of the interface pulls live temperature, wind speed, and Air Quality Index (AQI) data across 10 prominent Indian cities via the Open-Meteo and WAQI APIs.
- Macro-Level Data: Integrates an interactive satellite mapping modal powered by Windy / Zoom Earth for real-time cloud cover and weather pattern tracking.
The application is built on the Next.js 14 App Router foundation. It leverages React 18's concurrent rendering capabilities to ensure that heavy DOM elements (like 25+ iframes) do not block the main thread.
- Core Framework: Next.js 14 (App Router)
- UI Library: React 18
- Styling: Tailwind CSS, custom raw CSS variables for glow/CRT effects.
- Data Fetching: TanStack React Query (v5), native
fetch. - Mapping:
react-leaflet,leaflet,geojson. - AI SDK:
@groq/groq-sdk - Icons:
lucide-react
ind-atlas/
├── app/
│ ├── api/
│ │ ├── proxy-cam/ # Bypasses CORS for static traffic cam images
│ │ ├── rss/ # Parses XML news feeds to JSON
│ │ └── yt-live/ # The custom YouTube scraper & bypass engine
│ ├── globals.css # Core tactical theming, scanlines, and CRT effects
│ ├── layout.tsx # Main application shell
│ └── page.tsx # The primary non-scrolling dashboard grid
├── components/
│ ├── CameraCard.tsx # Individual HUD-styled video feed component
│ ├── MapPanel.tsx # Leaflet map wrapper and GeoJSON handler
│ ├── NewsPanel.tsx # RSS feed display with source filtering
│ ├── StateProfile.tsx # Groq AI Intelligence analyzer panel
│ ├── WeatherMapModal.tsx # Zoom Earth satellite overlay
│ └── WeatherTicker.tsx # Live meteorological data ticker
├── lib/
│ ├── cameras.ts # Registry of all 25+ live nodes and search queries
│ ├── news.ts # RSS endpoint configurations
│ ├── stateData.ts # Static statistical fallbacks for Indian states
│ └── weather.ts # Open-Meteo API utility functions
├── public/
│ ├── india_states.geojson # State-level topological data
│ └── india_district.geojson # District-level topological data
└── tailwind.config.ts # Custom color palettes and spacing
- Node.js (v18.x or higher)
- NPM, Yarn, or pnpm
- Git
To enable the automated Intelligence Briefings and Threat Matrix generation:
- Obtain a free API key from Groq Console.
- Open the IND Atlas application in your browser.
- Click the Settings Gear ⚙️ icon in the top right corner of the interface.
- Input your Groq API key into the secure modal.
- (Note: This key is saved securely in your browser's local storage and is never sent to our servers).
- The AI engine will immediately spin up and begin analyzing the incoming news streams.
The dashboard is strictly bounded to 100vh and 100vw. There are no scrollbars on the main window. This forces the application to behave like a true physical monitor panel.
- Backgrounds utilize
var(--color-bg-primary)(#080810), eliminating all pure whites to reduce glare. - Green accents (
#00ff88) with CSSdrop-shadoware used to simulate phosphor glow. - Iframes are passed through
saturate-50 contrast-125CSS filters to blend modern HD video into the gritty, tactical aesthetic.
This project is open-source and distributed under the MIT License. See the LICENSE file for more information.