FastFlow
SolutionsProjectsAboutFAQInsights
Client areaStart a project
FastFlow

Full-stack development agency: mobile apps, websites, and custom portals. Lean team, direct process, code that stays yours.

Site
  • Solutions
  • Projects
  • About
  • FAQ
  • Insights
Contact
  • [email protected]
  • WhatsApp
Status
  • Accepting new projects
© 2026 FastFlow Agency. All rights reserved.
Crafted carefully in Boston.
Back to projects
Mobile AppIn development

AxoLens

Drone app that overlays property boundaries in real time

Native Android app for DJI drone pilots: imports property boundaries (KML/KMZ) and projects them onto the live video feed in real time, with terrain-aware accuracy via USGS 3DEP.

DroneAR app mockup on Android showing the home screen with property library, boundary import, and live flight view

Strategy

No app combined a live DJI drone video feed with imported boundary files and terrain-corrected projection. Existing tools either showed everything on a 2D map (no AR over the live video) or required exporting to engineering software.

Professional pilots needed sub-metre precision directly on the video feed, on any terrain across the United States, without depending on post-processing. We built the first native Android app that imports property boundaries (KML/KMZ) and projects them onto the live DJI video in real time — for surveyors, land buyers, and contractors who need to see exactly where a property line is while they're in the air.

Design

Every interaction is built around a pilot whose attention is on the drone, not on a phone screen. Sub-metre distance readouts, color-coded HUD chips, drag-to-shift alignment that's faster than typing coordinates, and camera profiles you can swap mid-flight.

  • Distance-to-boundary HUD chip with sage-inside / saffron-outside color flip and sub-metre precision near the line
  • Per-boundary drag-to-shift alignment, stored in world-space ENU metres — correct a 30 cm GPS bias in two seconds without leaving the live view
  • 7 named DJI camera profiles + a Custom slider for hFOV — pick the right calibration mid-flight without scrolling through specs
  • Property library with atomic-write filesystem repo + hot Flow updates so the boundary list reflects changes instantly

Technology

100% native Android in Kotlin, with an in-house projection engine — no Unity, no Unreal. Every boundary vertex runs through a geodetic → local tangent plane (ENU) → drone body (NED) → OpenCV camera frame → pinhole pipeline, with Sutherland-Hodgman clipping for polygons leaving the frame and per-vertex terrain backfilled from USGS 3DEP.

  • Custom KML/KMZ parser with a full domain model + filesystem-backed multi-boundary repository (atomic writes, hot Flow API)
  • USGS 3DEP DEM tile streaming pipeline: pure-Kotlin TIFF/GeoTIFF parser, range-fetched COGs from the public S3 bucket, LZW + Deflate, predictor 1/2/3, Float32/Int16 decoders
  • EGM96 geoid undulation API for converting between ellipsoidal (GPS) and orthometric (surveyor) heights — the diff matters once you're working sub-metre
  • 60 Hz pose smoother with a timestamped ring buffer + lookback to compensate the DJI video-link's ~120 ms latency; velocity prediction + lens dewarp end-to-end — no overlay flutter
  • DJI MSDK 5.17.0 validated against a real Mini 3 + RC-N1; MockTelemetryProvider for dev without hardware
  • 521 Vitest tests green + ADRs documenting every architectural decision so the next pilot-engineer ramps in days, not weeks
Client
AxoLens
Role
End-to-end product, design and engineering
Duration
In development
Stack
KotlinDJI MSDK 5OpenCVUSGS 3DEPOSMDroidFirebase Auth + FirestoreRevenueCatVitest

We'll switch this on once the project is live.

Next projectHavenClean

Website that turns search into bookings

Next project
HavenClean site with the hero "A spotless space, without the hassle", a 5.0-on-Google rating, and an instant-quote CTA

Next steps

Want to build something like this?

In 30 minutes, we leave the call with initial scope, a realistic timeline, and what it takes to start. No 40-page proposal.

[email protected]WhatsApp · +1 (603) 479-2115