Firebot Labs — Deployed Apps

Live tools and platforms built by Firebot Labs. Select an app to open it.

Fire & Emergency Response
Firebot Event Sim
StackLeaflet 1.9.4 (CartoDB dark tiles) · Vanilla JS · single HTML file ~54KB · HTML5 Canvas (wind compass) · rAF animation loop · no backend, no build step
Sim12-stage scripted NH₃ release at Linde/Praxair (Monterey Hwy, SJ) → CAD alert → geocode → wind-driven plume model → 5-dock routing with SJC/RHV/Moffett airspace deconfliction → HITL gate → Drone #1 (200ft AGL orbit) + Drone #2 (300ft AGL thermal+RGB ISR)
Geo mathHaversine distance + bearing + destination-point calcs for reroute paths · plume fan polygon generation · circular zone intersection detection for SJC (5nm), RHV (2.6nm), Moffett (3nm)
ScenarioNH₃ UN 1005 · IDLH 300 ppm · 5 docks across SJ · 4.8km preferred / 10km max · 3-min escalation timer → ammonia fire event, updated plume geometry + incident state
Mission Simulator
Mission Simulator
Firebot Labs event simulation platform
Corridor Fuel Mitigation Viewer
StackMapLibre GL JS 4.7.1 · PMTiles 3.2.0 (Cloudflare R2) · Turf.js · JSZip · Flask backend (/api/plan, /generate, /validate) · Cloudflare Pages
PipelinePython — USGS 3DEP LiDAR (38 LAZ tiles, ~3.4 GB) via PDAL/rasterio · Sentinel-2 NDVI/NDMI (MS Planetary Computer STAC) · LANDFIRE 2022 · CAL FIRE FRAP (FHSZ + WUI) · Caltrans centerline → 100m segments × 3 buffer zones
Risk0.25×FHSZ + 0.20×ladder fuel + 0.15×canopy ht + 0.10×slope + 0.10×aspect + 0.10×NDMI departure + 0.10×WUI proximity → v0: 1 Critical, 96 High, 73 Moderate, 53 Low / 223 segments
OutputD1 GeoPackage/GeoJSON · D2 per-segment PDFs (radar chart + NAIP overlay) · D3: 97 DJI WPML .kmz missions (60m AGL, 5 m/s, lawnmower + orbit) for High/Critical I-280 Seg B segments
Wildfire Fuel Viewer
Wildfire Fuel Viewer
Corridor wildfire fuel assessment viewer
CERS + HazmatIQ
StackMapLibre GL JS 4.7.1 · Vanilla JS (~2,000 LOC / 9 modules) · SSE streaming + Python/Flask backend · Caddy reverse-proxy over Tailscale
DataCERS Portal (credential-gated live) · NIOSH NPG (scraped) · HIFLD (DHS) · San Jose DPW sewer/storm networks · TIGERweb ZIP boundaries
BackendFlask port 8765 · curl_cffi Chrome124 TLS fingerprint to bypass Imperva WAF · SQLite facility cache (~28MB, 4,023 records)
AgentHazmatIQ (Claude Sonnet) — 5 tools: facility query, inventory fetch, NIOSH lookup, distance calc, auth check. Chemical inventory held in Flask RAM only, never written to disk.
CERS + HazmatIQ
CERS + HazmatIQ
Facility lookup mashup with CERS, NIOSH & ERG data
Airspace & UAS Operations
3D Airspace Explorer
StackMapLibre GL JS 4.7.1 · Vanilla JS SPA · static/no build step · ~1,250 LOC across 4 modules
DataLockhorse ArcGIS REST Feature Services + FAA GeoServer WFS via CORS proxy (tfr-notams.lockhorsegroup.com)
LayersClass B/C/D (3D fill-extrusion), LAANC, TFRs/NOTAMs, SUA (R/P/MOA/W/A/CFA/NSA), FRIAs, NSUFRs, rec sites, stadiums — bbox-gated, 800ms debounce on moveend
ArchState via CSS classes · stadiums fetch-once · 429 detection + toast · 3D toggle swaps fill → fill-extrusion with MSL→meters conversion
3D Airspace Explorer
3D Airspace Explorer
Real-time FAA airspace + TFR/NOTAM map
BVLOS Edition
StackMapLibre GL JS 4.7.1 · MapboxDraw 1.4.3 · Turf.js 6 · Vanilla JS ~4,200 LOC / 10 modules · no build step, no backend · Cloudflare Pages + Access auth
Data100% localStorage — FAA Form 7711-2 records (full safety case fields) + LAANC cell selections keyed by GlobalID + reusable pilot/applicant personas
FeaturesFull waiver CRUD · LAANC cell click + polygon auto-select (contiguity checked) · auto-computed airspace snapshot (corridor × FAA Class/LAANC intersection at save) · MapboxDraw corridor geometry · PDF print with auto-generated lat/lon coordinate table · bulk JSON export/import
BaseInherits base Airspace SPA layers (Class B/C/D, LAANC grids, TFRs/NOTAMs, FRIAs, SUA, stadiums, infrastructure) unchanged
BVLOS App Maker
BVLOS App Maker
Secure efficiency overlay for FAA admin support
Coverage Planner — Drone Dock Deployment
StackLeaflet 1.9.4 (predates MapLibre stack) · Vanilla JS · single HTML file ~1,700 lines · 7 basemaps (OSM, CartoDB, ESRI Satellite, FAA VFR Sectional, TAC, IFR Enroute) · no backend
PlanningHex/circular coverage cells · pointy-top SVG geometry calculated in JS · drag + Ctrl+click multi-select group drag · magnetic snap to adjacent vertices (10px) · auto-tile viewport into hex grid
ModelsDJI M3TD (10km / 9mi radius) + M4T (12km / 10.9mi) — switching recalculates grid geometry dynamically
AirspaceL2 of 4-level roadmap shipped: hardcoded SJC Class C (5nm + 10nm shelf), RHV Class D, Moffett Restricted from FAA Chart Supplement — rendered as reference rings with popups
UAV Planning Map
UAV Planning Map
Demo deployment planning map
Skydio Cloud API Demo
StackBun 1.2 + Hono 4.7 · React 19 / TypeScript / Vite 6 · MapLibre GL JS 4.7 · Jotai 2.10 (12 atoms) · TanStack Query 5.65 · Docker + Ansible + Caddy/Tailscale · deliberately mirrors Firefly stack for direct code graduation
LivePersistent upstream WebSocket → stream.skydio.com fan-out to all browser clients at ~5 Hz · heading conversion (90 − yaw_rad × 180/π + 360) % 360, verified ±1° against DFR Command · 3s backoff auto-reconnect upstream + browser
History10 most recent flights · GPS track via GET /v0/flight/:id/telemetry (~866 pts/14-min flight) · multi-select colored polyline overlay · rAF replay at 5×/10×/20×/60× with progress scrubber
WebhooksPOST /api/webhooks/skydio with full JWT signature validation (HMAC-SHA256, JWK rotation, body SHA256) · last 50 events forwarded to browser over same WebSocket channel. Auth: ApiToken (not Bearer).
Skydio Cloud API Demo
Skydio Cloud API Demo
Fleet telemetry & flight replay integration
Mapping & Intelligence
Minspectre
StackMapLibre GL JS 4.7.1 · Vanilla JS (~11 modules) · Claude API direct browser access (claude-sonnet-4-6, streaming tool-use) · Cloudflare Workers · no backend
DataUSGS mrdata (MRDS deposits), USGS NGDB/NURE (stream sediment geochem), BLM NLCS/SMA + CadNSDI (land status + PLSS), USGS SGMC2 WMS (geology), ASTER (hydrothermal alteration), NHD Plus HR (hydrology), USFS MVUM (roads), 3DEP/AWS Terrarium (terrain)
AgentGeoSpec (Claude claude-sonnet-4-6) — 4 tools: get_map_state, get_deposits_in_view, get_geochem_in_view, get_geology_at_point (Macrostrat). Up to 5 agentic rounds per query.
ScoreCatchment-level weighted prospecting score (0–100): A/B deposit (40pts), geochem anomaly (25pts), C prospect (20pts), open BLM land (15pts), D/E records (10pts)
Minspectre
Minspectre
Mineral resource mapping and planning tool
Trackchart
StackMapLibre GL JS 4.7.1 · PMTiles 3.2.1 (HTTP Range, no tile server) · Overpass API (abandoned rail, live zoom≥9) · USGS/EIA ArcGIS FeatureServers (energy, zoom≥7) · Vanilla JS ~1,260 LOC · Cloudflare Pages + R2 + Zero Trust OTP gate
DataFRA NARN API → 302,743 LineStrings (narn.pmtiles, 69MB) + trainorders.com 213 KMZ community archive → 365,449 historical features (historical.pmtiles, 44MB) = 668K+ total features
BuildPython stdlib only (no GDAL) — custom KML 2.2/2.1 parser (nested folders, CDATA, altitude stripping, status + polygon-size heuristics); tippecanoe z0–z10 --drop-densest-as-needed
CategoriesClass I current (UP/NS/BNSF/CPKC) · 69 fallen flags (AT&SF/PRR/NYC/SP/B&O) · shortline/regional · logging (147K lines, dense SE/Great Lakes) · 58 state maps · specialty
Trackchart
Trackchart
Industrial transportation and critical infrastructure map
SkyAtlas
StackAladin Lite v3 (CDS Strasbourg — WebGL + WASM, HiPS tile streaming) · Vanilla JS · 428 lines single HTML file · no backend · Cloudflare Pages or local disk
Surveys30+ HiPS datasets — optical (DSS2, DESI, DECaLS, Euclid, PanSTARRS), UV (GALEX), Hubble (HLA), IR (2MASS, WISE, AKARI), radio (HI4PI, CHIPASS), X-ray (XMM-Newton, Fermi) · 4 projections (gnomonic/Aitoff/Mollweide/Lambert)
FOVDraggable/rotatable FOV box as CSS-transformed DOM div (not Aladin overlay) · sized via thin lens formula · sky↔pixel conversion manually implemented (linear approx + cos(dec) RA correction, sub-pixel accurate at FOV < 5°)
PresetsTelevue TV-102 + ZWO ASI2600MC Pro, C8; Hubble ACS/WFC3; JWST NIRCam/MIRI; Vera Rubin/LSST; Subaru HSC. Night mode via CSS custom property swap at :root.
SkyAtlas
SkyAtlas
Real-time sky atlas for celestial survey intelligence and analysis
Physics & Geophysics
Starlink Signal Tools
StackVanilla JS + CDN libs · no build step · Three.js (WebGL) — all 3D viz · React + Tailwind CSS (Modulation Comparison only) · Canvas 2D (signal viewers, waveforms) · 16 self-contained HTML files + shared nav.js sidebar
ToolsPhased Array (4): 3D beam steering 16×16 grid, grating lobes, beam squint, multi-beam · Starlink Systems (3): orbital coverage, SDMA allocation, link budget · Signal Processing (5): time/freq domain, modulation sim, spectrum analyzer, Fourier builder · Modulation (3): DVB-S2X comparison, OFDMA 3D viz, EM polarization
RF physicsλ/2 element spacing at Ku-band (11.7 GHz) · phased array factor math, grating lobe positions, beam squint vs frequency · DVB-S2X MODCODs QPSK–256QAM (25+ schemes), Eb/No thresholds · partial DFT for carrier zoom · sinc-based OFDMA subcarrier modeling
Key toolLink budget calculator: 25+ MODCODs, live C/N₀ + Eb/No→BER curves, data rate, modulation/coding selection — primary tool for emergency response Starlink field deployment planning (geometry in → MODCOD + margin out)
Starlink Signal Tools
Starlink Signal Tools
Interactive RF & phased array signal processing visualizations
Deep Time Atlas
StackMapLibre GL JS 4.7.1 (globe projection, GeoJSON coastlines only — no basemap tiles) · Vanilla JS · no build step · GPlates Web Service (gws.gplates.org) GET /reconstruct/coastlines_low/?time={Ma}&model={model}
Cache300-frame LRU in-memory + IndexedDB write-through · seeds from IDB on load · 6 concurrent background prefetches, deduplicates vs cache + inflight + queue · holds on prefetch frontier rather than dropping frames
Models16 plate reconstruction models (0–1,800 Ma, paleomagnetic-frame vs mantle-frame) · default ZAHIROVIC2022 (0–410 Ma) · RODINIA outlier (540–1100 Ma, no present-day state) · time spans verified live against GWS, not docs
StatusM1 complete: play/pause/step, ping-pong at boundaries, era labels, speed control 1–10 fps, HUD auto-hide. M2 next: two-model comparison + anchor-plate control + tracked-point distance readout.
Deep Time Atlas
Deep Time Atlas
Animated paleogeographic map
Industrial Cybersecurity, Intelligence & Analysis
PartsTracer
StackReact 18 / TypeScript / Vite · d3-force 3 (SVG graph, drag-to-pin, phyllotaxis seeding) · MapLibre GL 4.7 (component-origin heatmap) · Zod 3 (runtime validation + JSON Schema export) · Hono backend + Anthropic SDK · Docker + Nginx + Caddy + Ansible
ModelDirected versioned graph — 6 node types (platform, component-supplier, integrator, parent-holding, investor, state-actor) × 4 axes (ownership/control, manufacturing/supply chain, regulatory exposure, data & security) · 11 edge types · every claim is Claim<T> with confidence, sources[], Zod-rejected if uncited
AgentClaude Opus 4.8 — 4 read-only graph query tools (query_entities, get_entity, find_shared_dependencies, list_research_gaps) · strictly read-only, prompt-injection guarded
ResearchBatch workflow: 172 seed nodes → 58 batches of 3 → Claude web research → adversarial verify → Zod-gated integration → auto-stub → git commit. validate.ts as CI gate; check-rejections.ts proves schema enforces citation.
PartsTracer
PartsTracer
UAS ecosystem provenance & supply chain intelligence dependency graphs