All projects

CASEMobile · iOS & Android

Know before you fly

Remote Pilot is the mobile app of drone.co.id: airspace checks, offline flight plans, a digital logbook, classes, a member card with QR verification, chat and a social feed. I designed it, wrote it in React Native, and took it through Apple and Google review myself, from the first build to 31 releases later.

Role
Designer, mobile engineer and release manager
Period
2026 - now
Platform
iOS (App Store) and Android (Google Play)
  • Fly zone check

    Tap any spot for an airspace verdict, METAR and NOTAMs.

  • Offline flight plan

    Survey grid that works offline; mark cells as flown.

  • Chat

    Realtime chat with other pilots and groups.

  • Member card

    Digital member card with QR verification.

  • Social feed

    Feed for sharing flights and aerial photos.

  • Dark and light mode

    Dark and light themes that follow the system.

2 stores
live on the App Store and Google Play
31
releases shipped, from 1.0.0 to 1.1.8 in seven months
68
screens and routes in one Expo Router codebase
5.0 ★
App Store rating at the time of writing

01The problem

Pilots are in the field, not at a desk

A website is not enough on a hilltop with one bar of signal. Pilots need to check the airspace, follow a flight plan, log the flight and show their credentials right where they fly.

So the platform needed a real native app: fast, usable offline, with push notifications and the phone’s GPS, and published under the company’s name on both stores.

02Product

What I built

  1. 01 · Fly zone check

    Tap a point to see airspace classes, NOTAMs and volcanic ash notices translated into a clear go / caution verdict.

  2. 02 · Offline flight plans

    Survey grids that keep working without signal; cells are marked as flown and synced later.

  3. 03 · Logbook & IMSAFE

    Flight logs with GPS, weather and aircraft, plus preflight checklists and an IMSAFE self-assessment.

  4. 04 · Classes

    Video lessons, exams and attendance, with screenshots blocked during exams.

  5. 05 · Member card

    A digital RPI card with QR code, downloadable as PDF or PNG, verified live against the server.

  6. 06 · Community

    Feed, chat, events and a pilot directory, with push notifications for messages and announcements.

Hard parts

What made it difficult

  • Store review is a product of its own

    Apple and Google each have their own rules: Sign in with Apple next to Google sign-in, in-app account deletion, privacy declarations, data safety forms, and bilingual store listings for every release.

  • Signing and versioning by hand

    I build Android bundles locally instead of paying for cloud builds, so I wrote a script that derives versionCode from the version and patches Gradle, Xcode and Info.plist, refusing any number Play has already seen.

  • Native configuration without ejecting

    Four custom Expo config plugins handle release signing, the iOS scene delegate, deployment targets and Xcode settings, so native folders can be regenerated at any time.

  • Offline-first maps and GPS

    Flight plans, tiles and logs have to survive no signal and sync cleanly when the phone is back online.

Outcome

Who it helps

  • Safer flights

    Airspace and NOTAM checks in plain Indonesian, at the exact spot, before take-off.

  • Proof of experience

    A logbook and member card that pilots carry in their pocket and clients can verify.

  • Learning anywhere

    Training continues between field days, with progress shared with the web platform.

  • One account everywhere

    The same login and data on web, iPhone and Android.

04Skills · What it took

The craft behind it

Mobile engineering

React Native, Expo, native builds

  • Expo SDK 57 and React Native 0.86 with Expo Router, Reanimated, gesture handler and bottom sheets.
  • Native maps, location, notifications, secure storage, document picker, media library and video.
  • Google and Apple sign-in, JWT sessions kept in the Keychain / Keystore through Secure Store, and Socket.io for realtime chat.

Shipping

From code to the stores

  • Apple Developer and Google Play Console accounts, certificates, provisioning and upload keystores.
  • Local Android App Bundles and Xcode archives, with a release checklist and version-sync script.
  • Store listings, screenshots and descriptions in Indonesian and English, written for search in the stores.

Design

Native feel, one brand

  • iOS-style navigation and sheets on both platforms, dark and light themes, haptics and blur.
  • Store screenshots designed as a set: one promise per frame, real data, consistent device mockups.
  • React Native
  • Expo
  • Expo Router
  • TypeScript
  • Reanimated
  • Socket.io
  • Expo Notifications
  • Expo Maps
  • Secure Store
  • Xcode
  • Gradle

Next case study

Drone Mapper

Photogrammetry and GIS desktop app with its own C++ engine