- Role
- Design, development, and the simulation: the console, the 3D map, the drone autonomy model, and the training missions.
- Team
- Solo
- When
- Nov 2026, ongoing
- Built with
- React, TypeScript, CesiumJS, Vitest
- Links
- Website
01Context
I’ve always been into aviation and aerospace, and I wanted to get closer to it as a designer. The more I looked at the software used to fly and manage drones, the more I noticed how much of it isn’t very intuitive to use. Dense screens, every status in its own colored badge, and alerts that flood in all at once.
So I decided to put my best foot forward with a design of my own for one of these autonomous drone platforms. Consol is a supervision console: one operator watching over a team of ten or more self-flying drones on wildfire and search-and-rescue missions. The drones fly themselves, and the operator’s job is to keep an eye on all of them, step in when something goes wrong, and give them new work.
I built it as a simulator, so it runs in the browser with the drones, the terrain, and the radio links all simulated. That gave me a way to learn how managing a fleet like this actually works by doing it myself, and it turned into something other enthusiasts can try too. It sits somewhere between real operations software and something you’d want to try, and I leaned toward the real side, with real places, the kinds of missions these drones actually fly, and failures that play out the way they do in the field.
02The call
When a drone loses its link.
Drones lose their link all the time, behind a ridge or just out of range, and then they act on their own. While I was researching these products, link loss was the moment that stood out. The ground control software I looked at mostly kept a lost drone at its last known position, with little sense of how far off that might be, and not much to tell you what had changed when it came back.
So that’s where Consol starts. A lost drone stays on the map at its best estimate, inside a circle of where it could be, with the route its failsafe (usually flying itself home) will take drawn ahead of it. The alert tells you what the drone is about to do and how long until it does, then gives you the action that can still change that.
- Read the warningHAWK-3 drops its link. The card leads with what it will do on its own, and when.
- Relay itHAWK-5 is already close enough to pass messages to HAWK-3. With no link, it's the only command HAWK-3 can still get.
- See what changedThe console shows how far off its estimate was while the drone was silent.
03Constraints
One operator per fleet.
Every screen had to work for a single operator supervising ten or more drones at once, instead of flying one at a time.
Links drop.
Drones fly behind terrain and out of range. The console has to stay useful when it can't hear from them.
Real-world scenarios.
Real places mapped with USGS relief imagery, real kinds of missions, and drones simulated closely enough that the problems feel believable.
04Decisions
A drone glyph that shows how much to trust it.
The drone glyph probably took more iterations than anything else in Consol. It had to read at a glance on busy terrain at 20 px on the map, and down to 12 px in lists, so I didn’t want it too noisy, but it couldn’t be so simple that it stopped telling you anything.
A live drone is solid white. When its data starts to age, only the front half stays filled, so it still shows which way it’s pointing but reads as less certain. When the link is lost, the body drops to its corners, because at that point the console is only guessing where it is. And once its failsafe arms and it’s about to act on its own, its nose and front rotors turn amber. Coloring only those parts keeps the heading readable in every state, and everywhere in Consol, amber only ever means a drone is acting on its own.
Alerts that put the consequence first.
A few problems need your attention right away, like a drone about to be lost or one heading into a firefighting tanker’s drop path. Most don’t, so I split the alerts into those two groups.
A warning appears as a card over the edge of the map. It leads with what’s going to happen and a countdown to it, then gives you the action that can still change it, with a keyboard shortcut, and a Show button that frames the drone it’s about. Everything less urgent stays quiet: a link that keeps flickering folds into a single line with a count instead of a new alert every few seconds, and data that’s only aging is shown on the drone itself rather than in the alert list.
A panel you command from, like a strategy game.
The panel on the right is how you tell a drone what to do, a lot like an RTS. Select one and the panel shows what it’s doing now, how its link is, and every command it accepts, grouped by flight, task, and recovery, each with a single key. Commands it can’t take right now stay visible and say why, like “Already airborne” or “Not holding, nothing to resume”.


The power of the right-click.
The map takes commands directly. You can shift-click or box-select several drones, then right-click on what you want them to do. On a sector they search it, and the search lanes split across the selection. On open ground they fly there and spread out around the point. On another drone they relay through it, and on a launch pad they return and land there. The panel switches to group commands and shows how many of the selection can take each order, so you can see which drones will sit it out before you give it.
05Getting there
What changed along the way.
Consol went through ten design rounds. Putting an earlier iteration of the lost-link moment next to what shipped shows most of what changed.
Alerts moved onto the map. In the earlier version, the warning sat in a strip across the top and the failsafe countdown lived in the side panel, so you had to look in two places. Now they’re one card over the map, with the countdown and the action together.
The objectives got clearer. They used to be four progress bars at the bottom of the fleet list. Now the next one due leads at the top left, in large type, with how long you have to meet it.
The timeline got cleaned up. A single scrubber became a lane for each drone, showing its link history and what’s coming next, like the failsafe, drawn ahead of now.
06Missions
Missions and training drills.
Each mission is a real kind of job with its own problems scripted in. Kestrel Ridge is a ridge fire where a drone loses its link behind terrain and a tanker flies a drop run through the area. Cedar Fork is a search for a lost hiker, where the drones flag possible people and vehicles for you to confirm or dismiss. Ash Creek is a survey of an area that’s already burned. There are more missions beyond those, and short training drills for things like link loss, relays, battery failures, splitting a search, and bringing a spare drone in, plus a mode to plan your own mission.
When you join a mission in progress, an automated supervisor has been running it until then, and the briefing hands it over to you. Sessions you end are kept, so you can replay them.
07What happened
Consol is live at flyconsol.com as a free simulator for the community: people who are into drones, aviation, and this kind of software, and want to try supervising a fleet themselves.
I built it to learn how this kind of software works, and to share it with people who’d enjoy it. It’s the kind of work I want to keep doing.