Introduction

Drone Hub is a shadcn-style component framework for drone property intelligence: plug-and-play React components you drop into your own app — a map layer viewer, a 3D/point-cloud viewer, a geo-anchored model overlay, a video walkthrough player, a Minecraft terrain voxelizer — not a single hosted product. The point is the components, not one page.

Why this exists

Property-intelligence viewers (draping a georeferenced ortho/thermal over a satellite base, toggling layers, orbiting a 3D reconstruction) are usually locked inside one SaaS product. Drone Hub takes the opposite bet: build and own the viewer, buy only the heavy compute (photogrammetry processing), and ship the viewer itself as real, individually-importable components — the same shape as shadcn/ui, applied to drone data instead of form inputs.

What's actually real here

Every component on this site is demoed against real data, not mockups. LayerViewer, Model3D, VoxelTerrain, and LandOverlay run against a real OpenDroneMap reconstruction from an actual nadir-grid drone flight — a real orthomosaic, a real DSM, a real textured mesh — not a stock photo. VideoTour plays a real interior walkthrough from the same property. FlightCoverageAnalyzer judges the real GPS telemetry from that same flight. Where a component genuinely has no real counterpart yet (thermal imagery — no radiometric sensor owned yet; a real recorded parcel boundary), that gap is labeled honestly in its own docs page rather than faked.

The stack

  • Next.js 15 · React · Tailwind v4 — the app and every component.
  • MapLibre GL + PMTiles/COG — the georeferenced map layer engine (LayerViewer, LandOverlay).
  • three.js / react-three-fiber / drei — the 3D mesh, point-cloud, and voxel-terrain renderers (Model3D, VoxelTerrain).
  • WebODM / GDAL / rio-cogeo / PDAL / exiftool — the post-processing pipeline that turns a raw drone flight into the ortho/DSM/mesh assets the components render. Lives in /pipeline, never bundled into the app itself.

Scope — what this repo is, and isn't

This repo is the framework and its own public showcase — fully public, no gating, no multi-tenant accounts, no billing. Real client-facing platform concerns (client accounts, per-client data isolation, contracts) belong to a separate, private platform repo that consumes these components as a package, not this one. If a page here needs real auth or real client data to make sense, that's a signal it belongs in that other repo, not here.

License

MIT licensed. Take any component, copy it into your own project, change what you need — that's the point.