← Back to work
Web App · Agri-Tech Platform · Shipped

One nav bar for every job that used to run on phone calls and memory.

UX DesignShipped
GA Planner mission schedule showing the pilot roster against a live weather forecast and hourly timeline

Product GA Planner (GA Hub)

The command platform behind General Aeronautics' drone-spraying operations: one app to schedule spray missions, assign the nearest available pilot and drone, and manage every farmer, field, warehouse, and user account behind that mission.

Lead UI/UX Designer across the full platform, from dashboard to admin modules
role
Lead designer, with 1 designer
team
12 months
timeline
Figma, front-end code
tools
Web app · Home, Missions, Fields, Drones, Users, Groups, Consumer, Warehouse, Notifications, Reference
scope

Problem Ten Jobs, No Single Home

Mission scheduling, pilot and drone assignment, farmer records, warehouse tracking, and compliance paperwork were each their own scattered process, with phone calls, spreadsheets, and memory standing in for a real system.

Solution One Platform, One Nav

I designed the spray-mission flow as the core loop (pick a field, match the nearest available pilot and drone, dispatch), then built the surrounding modules it depends on: Fields, Drones, Users, Groups, Consumer, Warehouse, and Notifications & Reminders, all under one home dashboard.

Result Shipped & In Use

It now runs the day-to-day of GA's drone-spraying operations.

10+
Modules designed
from mission scheduling to warehouse tracking
Shipped
In production
The brief

Make ten different jobs feel like one product, not ten screens bolted together.

General Aeronautics runs drone-spraying missions for farmers. Mission scheduling, pilot and drone assignment, farmer records, warehouse tracking and paperwork were separate processes, run on phone calls, spreadsheets and memory.

The brief was one platform to run it all. I led the design of GA Planner with 1 designer over 12 months, across the web platform and the pilot mobile app, from the home dashboard to every admin module.

Research

Follow one mission from request to field

and every person and record it touches
Stakeholder interviewsPersonasJourney mappingSketchingClient feedback

I worked with General Aeronautics' operations team to map how a spraying request became a mission, and where it stalled.

Three insights that shaped the design
Insight 1

The mission is the product

Every module exists to feed one loop: pick a field, match a pilot and a drone, fly, and report.

Insight 2

Nearest is not always free

The closest pilot may already be booked. Dispatchers need distance and availability side by side.

Insight 3

The work happens in a fixed order

Indent, transport, field mapping, schedule, plan and payload always follow each other, so the screens should too.

Users

The person who plans the day, and the person who flies

an operations manager and a drone pilot

Two personas, one in the office and one in the field. They came from the GA operations team and pilots.

Persona Suresh, operations manager for drone spraying: bio and personality sliders
More about Suresh: interests, influences, goals, challenges, motivations, pain points and frustrations
Designed forA home view of today's missions, the nearest free pilot at a glance, and one place for farmers, fields, drones and warehouses.
Journey map

Where a mission got stuck

from a farmer's request to a sprayed field
RequestPrepareAssignFlyReport
DoingA farmer asks for a sprayOps checks the field, crop and inputsOps finds a pilot and a droneThe pilot flies the missionOps records the result and bills
PainRequests by phone, details missingField data in different placesCalls to find who is freePlans change on the groundResults written up later, if at all
Design responseAn indent with farmer, field and cropTransport and field mapping as their own stepsPilots sorted by distance with availabilityPath and drone settings beside the field mapA post-flight summary for every mission
Reframing the problem

From "a scheduling tool" to "one home for the whole operation"

The first ask was mission scheduling. But the schedule only works if the records behind it do: pilots from Users, fleets from Drones, farmers from Consumer, bases from Warehouse.

How might we
How might we let an operations team plan, assign and close a spraying mission in one place, without a single phone call to find out who is free?
In scope
  • Home dashboard
  • Spraying mission flow
  • Nearest-pilot scheduling
  • Field plan and payload
  • Post-flight summary
  • Admin modules: users, groups, drones, consumers, warehouses, notifications
Later
  • A confidence score next to each suggested pilot match
User flow

One mission, step by step

the tabs follow the order the work happens
  1. IndentFarmer, field, crop and area
  2. TransportDrone and kit to the field
  3. Field mappedThe field boundary
  4. ScheduleNearest free pilot and drone
  5. Plan and payloadPath, height, clearance and dosage
  6. Post summaryWhat happened in the field
Sketches

The mission on paper, before any UI

one sketch per step, with a note on what each screen has to do

I sketched the mission flow and the module pattern before designing the screens. The notes in the margins are the job of each screen.

Sketch of the home dashboard with counts, today's mission tiles and a mission list
1Home: what is flying today, and what is stuck
Sketch of the indent step with farmer, field, crop and area, and a mission progress list
2A mission as six tabs, in working order
Sketch of a pilot list sorted by distance with availability colours beside a time grid
3Schedule: nearest free pilot first
Sketch of a field outline with spray lines beside path and drone settings
4Plan: the field map and the flight settings together
Sketch of the post summary with dosage, flow rate, droplet size and flight charts
5After the flight: what actually happened
Sketch of the warehouse list with search, filter and an add form on the right
6Every admin module, one pattern
Key decisions

Three decisions that shaped the experience

Decision 1

One nav for every job

Missions, fields, drones, users, groups, consumers, warehouses and notifications sit in one sidebar, with crops, seasons and zones counted across the top. Every module uses the same list, filter and add pattern.

GA Planner dashboard with area sprayed, fields marked, indents and missions
Decision 2

Nearest free pilot, at a glance

The schedule lists pilots with an availability colour beside a time grid of their booked missions and distances. The dispatcher sees who is close and who is free on one screen.

Schedule step with pilots, availability colours and a time grid of missions
Decision 3

Close the loop after every flight

Every mission ends with a post summary: dosage, flow rate, droplet size, speed, altitude, payload left, battery use and coordinates. The office sees what happened without a phone call.

Spraying mission post summary with dosage, flow rate, droplet size, speed, altitude, payload, charts and coordinates
Leading the work

Lead designer, one designer, one platform

I led the design across the web platform and the pilot mobile app, including all of its mission planning screens, with one designer. I set the shared patterns for every module so both of us could design in parallel, and reviewed each module with the GA operations team before handoff.

Final design: key screens

Inside GA Planner

one nav bar, every job a dispatcher or admin needs

The home dashboard gives the daily overview; the spray-mission flow, from schedule to field and drone plan, is the core loop. Around it: the people, fleet, and records modules that keep that loop trustworthy.

Outcome

In production, running GA's spraying operations.

GA Planner is in production and runs the day-to-day of General Aeronautics' drone-spraying operations, across more than 10 modules.

What I learned

On an operations platform, consistency is a feature. Once every module worked the same way, the team trusted the system enough to stop calling each other.

What I'd do next

Add a confidence score next to each suggested pilot match.

Ten jobs, one nav bar, and a dispatcher who never has to pick up the phone.

Local draft: 0 highlighted lines need your confirmation before this goes live.