🚀 Inspiration

I drew inspiration from next-generation defense/aerospace software like Anduril’s Lattice OS and Zipline systems that unify data, autonomy, and decision-making into a single command interface. I wanted to bring that level of sophistication to autonomous drone operations in sectors like energy, where power lines span thousands of miles and manual inspection is slow, dangerous, and costly. FLITE reimagines infrastructure inspections with real-time coordination, tactical awareness, and AI-assisted efficiency.

🧠 What I Built

FLITE is a mission control platform that visualizes, optimizes, and simulates UAV routes in real time, connecting a Python optimization engine to a cinematic, operator-style dashboard.

Route Optimization: Google OR-Tools (TSP/VRP) with distance + battery caps.

Telemetry Visualization: Live altitude, speed, heading, battery, and signal.

Mission Mapping: Flight paths, inspection zones, and airspace polygons on an interactive Deck.GL + MapLibre map.

Data Pipeline: Reads distance_matrix.npy, predecessors.npy, points_lat_long.npy; outputs routes.json, targets.json, metrics.json, routes.geojson.

Simulation Mode: Animates UAV movement, trails, and telemetry for mission playback.

⚙️ How I Built It

Frontend

React (Vite) + Deck.GL for geospatial rendering

MapLibre GL for lightweight basemaps

TailwindCSS for a tactical, operator-HUD feel

Backend / Solver

Python 3, NumPy, OR-Tools for TSP/VRP

Shapely for polygon handling

JSON/GeoJSON export consumed by the UI

Design Language

Intentional, grid-based layout, high-contrast telemetry panels, and minimal chrome—more mission console than consumer dashboard.

🔧 Challenges I Ran Into

Data Compatibility: Mismatched shapes in the provided arrays (e.g., predecessors 2779×3544 vs. distance_matrix 2779×2779). I added trimming/validation to harmonize inputs safely.

Performance & Stability: Large matrix ops slowed solving; I reduced path expansion overhead and cached where possible.

Visualization Bugs: luma.gl / deck.gl version conflicts caused crashes; I constrained to core layers (Scatterplot, Path, Polygon) to stabilize rendering.

Timing & UX: Syncing simulated telemetry with the animation loop required custom timestamp logic and throttling.

🏆 What I’m Proud Of

An end-to-end pipeline from solver → exports → live visualization.

Clear metrics output (metrics.json) showing coverage, legs, and compliance with the per-leg cap.

A polished, high-signal UI that feels like real mission software.

📚 What I Learned

Applying operations research (TSP/VRP) to real geospatial constraints.

The importance of robust data validation for scientific datasets.

How to balance visual fidelity and performance in web-based geospatial apps.

🔭 What’s Next for FLITE

Live UAV telemetry ingestion and multi-drone coordination.

Dynamic re-routing using weather/no-fly constraints.

Extended analytics (ETA, energy forecasts) and richer mission reports.

Built With

Share this project:

Updates