Logbook · Jakarta, ID

Notes from the ground station, classroom, and terminal.

Hi, I'm Liu Purnomo, founder of Drone Indonesia and director of Remote Pilot Indonesia. I'm also a software engineer and the author of three books on drones. This is where I write down lessons from the sky, the code, and the classroom. Enjoy the flight!

Liu Purnomo
Drone & UAV
Web Development
Airmanship

01Latest Notes

Fresh from the logbook

Opinions, tutorials, and learning notes, from airspace regulations to lines of code.

View all

02Ground School · Tutorials

Learn it step by step

Structured courses, lesson by lesson, from the first preflight check to the finished map.

All courses

04Flight Log · Speaking & Training

Where I've flown to teach

Seminars, trainings, and teaching sessions, from drone pilot courses to aerial mapping.

All events

05Live Feed · YouTube

Tune in to the live feed

Tutorials, regulation guides, and stories from the field, straight from my YouTube channel.

Visit channel
Playlist10 videos
Subscribe on YouTube

06Hangar · Projects

What I'm building

Products, platforms, and open source libraries running in production every day.

All projects
Drone Indonesia
HGR-01● Operational

Drone Indonesia

Platform for every drone pilot in Indonesia

Since 2021, drone.co.id has brought 3,500+ registered remote pilots together: portfolios, LMS and QR certificates, DJI flight-record replay in 3D, airspace and NOTAM checks from the official AIP, live ADS-B radar, a GIS workspace, flight planning straight to DJI controllers over WebUSB, realtime chat and Midtrans payments. One API also powers the mobile app and Drone Mapper. SEO built in with JSON-LD in 27 schema.org types.

  • Next.js
  • Prisma
  • PostgreSQL
  • Socket.io
  • Midtrans
  • Leaflet
  • Cesium
  • Turf.js
Remote Pilot App
HGR-02● Operational

Remote Pilot App

Native app on the App Store and Google Play

The mobile side of drone.co.id: airspace and NOTAM checks, offline flight plans, logbook, classes, a QR member card, chat and a social feed. Designed, built in React Native and Expo, and taken through Apple and Google review myself, with 31 releases shipped.

  • React Native
  • Expo
  • TypeScript
  • Socket.io
  • Push notifications
  • Xcode
  • Gradle
Drone Mapper
HGR-03● Operational

Drone Mapper

Photogrammetry and GIS desktop app, own C++ engine

Turns drone photos into an orthophoto, a DSM, and a print-ready map in one click. I wrote the occlusion-aware orthophoto engine in C++ (GeoTIFF, PROJ, OpenMP), GCP adjustment with a Helmert fit, satellite co-registration, Sentinel-2 super-resolution with ONNX, and BIG/KLHK map layouts exported as GeoPDF. Ships for macOS (Developer ID signed) and Windows, with plans sold through drone.co.id.

  • C++
  • OpenMP
  • GeoTIFF / PROJ
  • COLMAP
  • ONNX
  • Electron
  • React
  • MapLibre
Remotepilot.id
HGR-04● Operational

Remotepilot.id

Company site that turns inquiries into proposals

Website of PT Remote Pilot Indonesia since 2022: training and certification programs, regulation guides, and a generator that turns a short form into the official 24-page proposal PDF. Google Sheets as a zero-cost backend through my own npm package, and JSON-LD in 30 schema.org types for search.

  • Next.js
  • TypeScript
  • pdf-lib
  • Google Sheets API
  • Framer Motion
GERAKS
HGR-05● Operational

GERAKS

Training provider website and back office

geraks.id runs a Jakarta corporate training provider: 942 program pages drafted with an LLM pipeline and validated before publishing, online registration, pre and post tests, and certificates issued in bulk with QR verification.

  • Next.js
  • Prisma
  • PostgreSQL
  • pdf-lib
  • ExcelJS
  • OpenRouter
GAS Pelatihan & Sertifikasi
HGR-06● Operational

GAS Pelatihan & Sertifikasi

Training catalogue built for search at scale

pelatihandansertifikasi.com lists 15,754 training and BNSP certification programs, each with its own page, schedule and JSON-LD in 30 schema.org types. Typed content, an LLM drafting pipeline constrained by code, and incremental static regeneration keep it fast, with a warm editorial design and no UI libraries.

  • Next.js
  • TypeScript
  • ISR
  • Tailwind CSS
  • OpenRouter
  • TopoJSON
Liupurnomo.com
HGR-07● Operational

Liupurnomo.com

Publication and portfolio that ranks on Google

My blog, publication and portfolio since 2011, from Blogspot and WordPress to version 10 on Next.js: categories, tutorials, events, books, inline comments and an AI-assisted editor. Site, CMS and API run as one Next.js app with Prisma and PostgreSQL, with the old Express backend folded in. Articles rank on page one of Google and are cited in Google AI Overviews.

  • Next.js
  • Prisma
  • PostgreSQL
  • TanStack Query
  • JSON-LD
Djati
HGR-08● Operational

Djati

Mining management system

Runs a mining contractor of 500+ employees from head office to pit: hourly dispatch with an offline field app, weighbridge, fuel ratio against production, maintenance from damage report to closure, procurement from MR to PO with 10,660 tracked lines, HSE forms and mine permits, HR and finance. Configurable approval routing across 25 roles and 371 permissions, offline-tolerant dispatch and employee portals, and an HSE app on Google Play.

  • Next.js
  • React Native
  • Node.js
  • PostgreSQL
  • AWS
HGR-09● Operational

Blog.drone.co.id

Static blog on drones and UAV operations

Hugo-based static blog covering drones, aviation regulations, and UAV operations in Indonesia. Lightweight and fast, published as a static site with no server-side backend.

  • Hugo
HGR-10● Operational

NPM Packages

Open Source Projects

A collection of npm packages built and maintained for the developer community, covering Indonesian number formatting, text abbreviation, and Google Sheets CRUD.

  • TypeScript
  • Node.js

07Flight Kit · Digital Products

Kits ready to fly

SOPs, templates, and question banks I use in the field myself. Download and put them to work.

Cleared for takeoff

Have an idea, a question, or a speaking invite?

I'm open to collaborations, drone training, speaking engagements, and software projects. Send a message and I'll get back to you soon.