Ithlin – Geospatial Intelligence Platform

Full-stack GEOINT platform for military and intelligence operations planning and analysis

Founder & Full-Stack Developer
2024 – present
Vue.js 3.5 Spring Boot 3.5 MapLibre GL Cesium MongoDB Neo4j MIL-STD-2525D Offline-First

Ithlin combines interactive 2D/3D mapping with NATO-standard military symbology, knowledge graph relationships, temporal analysis, and comprehensive data management—all with offline-first capabilities. Designed for analysts and planners who need to visualize, track, and analyze geospatial intelligence data throughout the full intelligence cycle.

Architecture

flowchart TB
    subgraph Frontend["Frontend - Vue 3"]
        direction LR
        ML["MapLibre GL - 2D Vector Maps"]
        CS["Cesium - 3D Globe"]
        MS["milsymbol - NATO Symbols"]
        VN["vis-network - Graph Viz"]
    end
    
    subgraph Backend["Backend - Spring Boot 3.5"]
        direction LR
        API["REST APIs"]
        SVC["Services"]
        REPO["Repositories"]
    end
    
    subgraph Data["Data Layer"]
        direction LR
        MDB[("MongoDB - Documents")]
        N4J[("Neo4j - Graph DB")]
        MRT["Martin - Tile Server"]
    end
    
    Frontend ==> Backend
    Backend ==> MDB
    Backend ==> N4J
    ML -.-> MRT
    CS -.-> MRT
                        

Geospatial Visualization

The mapping engine supports both tactical 2D analysis and strategic 3D globe visualization, with seamless switching between views while maintaining state and annotations.

2D MapLibre GL

  • High-performance vector tile rendering
  • Custom styling for tactical overlays
  • Smooth pan/zoom with clustering

3D Cesium Globe

  • Terrain elevation and imagery layers
  • 3D entity positioning with altitude
  • Camera flight animations
📍

Coordinate Systems

MGRS, UTM, and decimal degrees with real-time conversion and copy-to-clipboard

📐

Spatial Analysis

Distance/area measurement, buffer analysis, and geometry queries via Turf.js

✏️

Drawing Tools

Radial tool selector for creating points, lines, and polygons directly on the map

Military Symbology

Full implementation of MIL-STD-2525D and APP-6B military symbology standards, enabling standardized representation of military units, equipment, and activities.

flowchart LR
    subgraph Builder["Symbol Builder"]
        AFF["Affiliation"]
        DIM["Dimension"]
        FN["Function"]
        MOD["Modifiers"]
    end
    
    AFF --> DIM --> FN --> MOD
    MOD --> SIDC["SIDC Code"]
    SIDC --> SYM["Rendered Symbol"]
                            
🔵
Friend
🔴
Hostile
🟢
Neutral
🟡
Unknown

Interactive Symbol Builder

Step-by-step UI for constructing symbols by selecting affiliation, dimension, function, and modifiers

Echelon-Based Rendering

Automatic symbol scaling based on unit echelon and current map zoom level

Text Modifiers

Unit designators, higher formation, speed, direction, and additional information fields

Symbol Taxonomy Browser

Browse and select from the complete APP-6B symbol hierarchy

Knowledge Graph & Intelligence Management

Neo4j-powered relationship tracking enables complex network analysis, connecting entities, places, and events through typed relationships with confidence scoring.

graph LR
    subgraph Entities
        P1["Person A"]
        P2["Person B"]
        ORG["Organization"]
        EQ["Equipment"]
    end
    
    subgraph Locations
        PL1["Location 1"]
        PL2["Location 2"]
    end
    
    subgraph Events
        EV["Event"]
    end
    
    P1 -->|REPORTS_TO| ORG
    P2 -->|MEMBER_OF| ORG
    P1 --- P2
    P1 -->|LOCATED_AT| PL1
    ORG -->|OPERATES| EQ
    EQ -->|OBSERVED_AT| PL2
    P1 -->|PARTICIPATED_IN| EV
    EV -->|OCCURRED_AT| PL2
                            
👥

Entities

People, organizations, equipment, and facilities with custom attributes

📍

Places

Geolocated points of interest with rich metadata and geometry

📅

Events

Time-bound occurrences with priority and spatial references

Network Visualization

Interactive force-directed graph with color-coded nodes by entity type and sizing based on connection count

Confidence Scoring

Track intelligence confidence from low to confirmed with visual opacity indicators

Multi-Depth Traversal

Explore relationship networks at configurable depth levels for pattern discovery

Dynamic Forms

Configurable attribute definitions with drag-and-drop form builder for custom entity types

Temporal Analysis & Offline Capabilities

⏱️ Timeline Playback

Animate events over time with play/pause/step controls. Events appear on the map during playback with custom popups showing configurable fields.

  • Configurable date range selection
  • Visual progress bar with scrubbing
  • Map-integrated event visualization

📡 Offline-First Design

Core functionality works without network connectivity, designed for disconnected and air-gapped operational environments.

  • Local MBTiles tile server via Martin
  • Bundled JS libraries (no CDN dependencies)
  • Dockerized MongoDB and Neo4j

Tech Stack

Frontend

Vue 3 3.5

Reactive UI framework (Composition API)

Vite 7.1

Build tooling and dev server

MapLibre GL 5.7

2D vector map rendering

Cesium 1.133

3D globe visualization

milsymbol 3.0

NATO military symbol generation

Turf.js 7.2

Geospatial analysis

vis-network 10.0

Knowledge graph visualization

Backend

Spring Boot 3.5.5

Application framework

Java 17

Runtime

Spring Data MongoDB

Document database access

SpringDoc OpenAPI 2.6

API documentation

NGA MGRS 2.1

Military grid coordinate conversion

Infrastructure

MongoDB

Primary document store for intelligence data

Neo4j 5.15

Knowledge graph database for relationships

Martin

High-performance MBTiles tile server

Docker Compose

Container orchestration

Project Status

Ithlin is a personal project demonstrating full-stack geospatial application development combining modern web technologies with military-grade symbology and intelligence analysis capabilities. It is not affiliated with any military or government organization.

Interested in geospatial systems or GEOINT applications?

Get in touch