Inspiration

When I first began work on Flyby, I wasn't sure what it was going to be. For a long time, I was chasing clicks and what I thought users would want. Then, one day, as if the clouds had parted to show me the way, I thought to myself, "what would I want to use?" I began looking at my hobbies, interests, and aspects of my day job to find a way "in." I quickly centered in on aviation and drone flying, as it's one of my oldest hobbies and fits nicely into both creative disciplines that I find myself jumping between. It's a cliche, but once that lightbulb went off, the idea for Flyby began to take shape.

The idea is simple: every drone flight begins well before the propellers spin.

Before I ever even think about flying my drone, I check the weather in the area, the restrictions, and laws surrounding drone flights. That involves checking my weather app, researching FAA laws, and any of the other nuances that accompany drone flying. I wanted to reduce the amount of steps it took to confirm whether or not it was safe to fly, while also ensuring I received timely updates if the area isn't local to me. Hence, Flyby was born!

I was heavily inspired by recent apps like Tide Guide and its ability to make data that's typically overwhelming feel approachable and calm. I wanted to try my hand at making a similar experience for drone pilots, without overriding any existing systems or preferences.

Flyby is also an attempt to make more engaging and rewarding experiences. My previous applications rely heavily on user input and are quite niche, so with Flyby, I challenged myself to expand not only the quality of the application, but the capabilities within it. As I worked, Flyby graduated from a simple dashboard with large amounts of data to a personal flying companion for planning, flying, and remembering flights.

Flyby App Image

What it does

Flyby is a native, privacy-first pre-flight companion for drone pilots of all skill levels.

At the center of Flyby is the Fly Score, an explainable flight-readiness score that takes wind, gusts, rain, visibility, cloud cover, sunlight, geomagnetic conditions, the aircraft, and pilot profile into account. Flyby explains how conditions affect the score, and directly shows how the score is being impacted at any one moment.

Pilots can dig deeper through hourly charts and tables, plan around sunrise, sunset, golden hour, and blue hour, save launch locations, compare upcoming conditions, and schedule future flights with alerts when the forecast meaningfully changes.

Flyby also provides useful airspace context to pilots from the Map experience, providing UAS Facility Map ceilings and LAANC availability, where its supported. While useful, this information is presented as additional context, never as authorization or as a guarantee that a flight is permitted.

Creating a personal aircraft profile allows Flyby to account for wind resistance, battery level, reserve targets, payload, and accessories when providing estimated flight times and scores. A local-first Logbook allows users to import their previous flights and GPX tracks to recover routes, launch points, altitude, distance, and duration.

Outside of planning, Flyby also includes Home Screen widgets, on-device generated flight briefings, a 3D aircraft hangar where users can scan their physical drone into the app, Game Center Achievements and Leaderboards, and three interactive flight modes: Free Flight, Gate Run, and Touchdown.

Flyby's Flight Logging and Logbook feature (demo data), and some widgets!

How we built it

As a lifelong Apple fan(boy), I was intent on using Apple's latest technologies when building Flyby. As such, Flyby is built natively for Apple platforms and takes advantage of Swift, SwiftUI, and the latest iOS advancements.

WeatherKit powers Flyby's conditions and hourly forecasts. MapKit and Core Location are used to power location search, saved launch areas, and map-based planning. FAA UAS Facility Map data is also included, overlaying directly onto the Map in a non-intrusive way. Flyby also factors geomagnetic conditions in its calculations for pilots that rely on GPS systems.

Flyby also takes advantage of Apple's latest on-device Foundation Models to generate concise preflight briefings and flight-log recaps. Every generation has a deterministic fallback for users without Apple Intelligence/Foundation Model support.

The interactive flight environments are built using RealityKit and AVFAudio. Flyby includes a curated city, animated aircraft components, collision behavior, spatial ambience, adaptive drone audio, and control systems that will feel familiar to novice and experienced pilots alike.

WidgetKit, BackgroundTasks, UserNotifications, and GameKit also extend Flyby throughout the Apple ecosystem. RevenueCat manages Flyby's in-app subscription, Flyby Pass, and its various entitlements and offerings.

Challenges we ran into

Developing and designing Flyby introduced two new sets of challenges I had yet to experience on my previous applications. Density and performance. On density, Flyby surfaces a large amount of data, all at once. That data is fantastic, if you know how to succinctly communicate said data to the user in a way that isn't overwhelming. A lot of effort went into simplifying the data stream and design, without oversimplifying it.

Flyby's "What Shapes this Score" section

For instance, drone limits can vary between aircraft, pilots, and the overall goal of the flight. A wind speed that's reasonable for one drone may not work for another. The Fly Score, therefore, had to be personal and explainable, rather than a universal rating that applied everywhere and to everyone.

The 3D environment introduced an entirely different set of challenges: maintaining a smooth frame rate, managing memory, battery drain, thermal pressure, and creating a "convincing city," all took far more work than I initially expected. My original plan was to build a procedurally-generated world, but I quickly realized the performance costs associated with that and pivoted. The end result is a much more curated world, but one that doesn't hurt device performance nearly as bad as it once did. There's still work to be done, but compared to where it was, it's leagues better.

The final true consideration was pricing. From the outset, Flyby was designed to be usable for anyone interested in aviation and drone flying, so it was important that the core experiences remain free. That includes weather data, pilot profiles, aircrafts, locales, and airspace context for all users. For pilots who want more from their planning tools, Flyby Pass unlocks deeper planning, longer forecast ranges, and expanded customization.

Accomplishments that we're proud of

I'd say I'm most proud of the fact that Flyby feels like a cohesive experience from start to finish, despite the number of systems inside it. A pilot can open Flyby, see the Fly Score, read the reasoning behind it, inspect the forecast, view launch areas, plan the flight around a time or lighting condition, and so much more, all from one app.

The evolution of Flyby's dashboard view, from the earliest version (v0.3 - left most, v0.5 - middle, and v1.0 - right most

I'm also quite proud of the improvements made to the 3D environment. In early versions of Flyby, the 3D scene was a small window to tap into, but over the course of development it evolved into the defining feature and visual of the app in a way I never expected. What started as a way to break up text in an already dense view wound up being one of my favorite aspects of the app. And later in development, when the 3D environment presented challenges, I'm happy that I was able to find an approach that maintains the app's design and performance.

And on a personal note, it's one of the few apps I've made that I find myself playing with for fun!

What we learned

From a technical standpoint, everything. Flyby is an experiment in trying something new, and just about everything that Flyby does is new to me. I've never worked on a project with so many connections and moving pieces, and seeing it come together into a cohesive app was an awesome feeling.

If I had to choose any one area that I learned the most in, it would have to be RealityKit and 3D level design for mobile devices. Before Flyby, I had never tried making a 3D game/app on iPhone/iPad before. My lone previous attempt was an idle game (I know, but they're a guilty pleasure!), but that was entirely text-based/2D. Like most things, I found getting the 3D world started the easy part, but it was taking into account all of the smaller details that caused some hiccups.

The evolution of Flyby's 3D experience

For instance, devices in Low Power Mode, which my phone essentially lives in these days, had an entirely different experience, not only in the Free Flight experience, but in the Gate Run and Touchdown modes, as well as the main app. This forced me to rethink the way the world was built, but also resulted in some clever enhancements to improve FPS and performance, especially with the mini games that have leaderboards, like Gate Run and Touchdown.

What's next for Flyby - Drone Planner

Flyby's launch on September 8 was only the beginning of Flyby's life. Since releasing Flyby's initial version, I've already released two major updates. Flyby 1.1 expanded aircraft personalization, flight and place history, planning tools, adding achievements, and improving the 3D experience. One of my favorite additions allows pilots to scan their physical drone and bring it directly into Flyby, the Hangar, and all of the 3D environments.

Flyby 1.2 returned the focus to preflight planning. Pilots can now view wind speed and direction at multiple heights above the ground for up to 72 hours, choose their typical flight height, and have Fly Score evaluate both surface level and winds at altitude. Planned flights also include a Preflight Checklist with important checks that Flyby can't perform itself.

Looking further ahead, I plan to continue refining Flyby as a pre-flight companion with features such as METAR observations, TAF forecast context, alternate weather sources, and deeper integrations within Apple's ecosystem, including iPad, Apple Watch, and CarPlay. Future-future plans also include additional airspace and authorization context, preflight checklists, battery planning, location comparison, and internal route/GPX processing.

And, finally, on a more "fun" note, I hope to continue to improve the 3D world and experience across devices. Flyby isn't designed to be a game or toy, but I've found myself having so much fun tinkering with, and playing with, the world, that I can't help but want to continue. I have some fun seasonal ideas planned, as well as better Game Center integration.

So that's Flyby!

Every time I go to start a new project, I ask myself the tried and true question: "who is this for?" Flyby began as a project for me, but quickly blew past that boundary and has become an indispensable part of my drone flying and filmmaking toolkit. Whether it's planning my next flight, viewing the weather, or messing around with the Free Flight modes or mini-games, there's always something that manages to put a smile on my face.

Hopefully, with a bit of luck, others will enjoy it and smile too! I know time is of the essence, but if you have time and feel like watching another video, I made this short promotional film to coincide with the launch (it's also at the end of my submission video).

The Lone Traveler | Promotional Film

Thanks a ton (no pun intended), Nick.

Built With

Share this project:

Updates

posted an update —

Flyby 1.2 Update

Greetings, drone pilots! We're back with some exciting updates for Flyby. Learn more below!

NEW

  • Wind at Height: view wind speed and direction at 33, 262, and 394 feet above the ground for up to 72 hours, on both Today and in the new Wind Chart.
  • Flight Height: choose where you usually fly in Pilot Limits. The Wind Chat will now open at that height, and your wind limit will be checked against the elevation readings and the surface reading.
  • Preflight Checklist: a "Before you Fly" list on each planned flight with seven suggested checks for what Flyby can't.

IMPROVED

  • Fly Score: your wind limit now uses the stronger of the wind on the ground and the wind at your flight height. What Shapes this Score shows both values.
  • Hangar: swiping between aircraft is smoother, with each drone moving with your finger. The embedded menu has also been reworked.
  • Flight Windows: page through hours with the arrows beside each page's best hour, and tap Now to jump back (on Today).
  • Wind Card: a more compact layout, with forecast details beside the title and data credits at the bottom of the page.
  • Flyby Pass: every Flyby Pass paywall screen now has a clear close button.

FIXED

  • Compass directions in Today's wind details now read "NE" instead of "Ne."
  • Hangar now opens on the aircraft you're flying, and its drone no longer snaps back partway through a turn.

There's even more to share with Flyby 1.2 on Flyby's website!

Log in or sign up for Devpost to join the conversation.

posted an update —

Home Point Updated. Please check it in the app.

Flyby’s first update has landed! Thanks for flying with us. This update brings a handful of improvements to make planning your next flight even smoother.

NEW

  • Flight Cards: create a Postcard or Flight Record to share based on your logged flights.
  • Cover Photos: add a cover photo to your logged flights.
  • Aircraft Personalization: add a callsign, view logged flights, and 3D scan your drone into Flyby.*
  • Deterministic Briefings: for devices without Apple Intelligence, Flyby now generates a deterministic briefing based on your entered information.

IMPROVED

  • Plan Tab: flight windows now split Flight Windows into multiple different windows, and planning the next flight is faster.
  • Sun Tab: drag the sundial to preview any time between sunrise and sunset.
  • Flight Windows: browse up to 72 hours of flight windows from the Today tab.
  • Planned Flights: a unified panel now brings together Fly Score, verdict, weather, and charts.
  • Airspace Maps: a better visual representation of LAANC Authorization Zones and other related information.
  • Battery Life: Free Flight now uses less energy and demands less of your device when in Low Power Mode or warm.

FIXED

  • Planned Flight weather metrics now describe the same lowest-scoring forecast hour as the displayed verdict.

There's even more to share about Flyby 1.1 on Flyby's website!

*Requires Flyby Pass.

Log in or sign up for Devpost to join the conversation.

posted an update —

Dev Log: Flyby's 3D Evolution

I sound like a broken record, but when it was early in Flyby's development process, there weren't any 3D or mini-games to speak of. The app was just like all of our others before it: text-based, information dense, and relying on you, the user, to fill it with useful data. I can't explain why I thought of it, but during development one night, I pictured tapping into a window to reveal a 3D world. That one decision is responsible for the defining characteristic of Flyby, but it wasn't as easy to achieve as I hoped.

Read more

Log in or sign up for Devpost to join the conversation.

posted an update —

Dev Log: Building Flyby Natively for iOS

I've always felt that developing for Apple platforms, specifically iOS and iPadOS, is the most rewarding development experience available. That's largely due to nostalgia and a genuine (and somewhat obsessive) love for Apple, but that feeling remains true, even in 2026. So when it came to building Flyby, the choice was clear: take advantage of Apple as much as possible. And that's exactly what happened.

Read more

Log in or sign up for Devpost to join the conversation.

posted an update —

Note quite a version update, but I've shared a few dev-log articles on my blog, detailing more about the development of Flyby, the decisions I made, and the overall App Store submission process. If you're interested, check them out!

Flyby's App Store Submission Process Before Takeoff: Why I Built Flyby Creating the Fly Score in Flyby

Version 1.1 is coming along very nicely and will be introducing some awesome features!

Log in or sign up for Devpost to join the conversation.

Submission history