Over the past few months I built an iOS app called Drone Trails and wanted to write down some of the struggles involved in building it. The main takeaways for me has been:
Before, I go into complaining - I want to explain the constraints I’ve been working around. This app was built only on the weekends. For a few months, I basically worked 60-70 hrs a week spending most of my weekdays doing my job and only building this on the weekends. Every asset including posters, logo, marketing material was designed by me. The goal - build a utility app solving a problem without throwing money at the problem.
I’ll keep this short since this is not the main discussion point of this article. Drone Trails helps recreational and commercial drone flyers find spots to fly. Turns out FAA (USA governing body for drones) does not have the complete list of safe places to fly on their app cause local courts can override the decisions. My solution was to make a crowd-sourced idea (A big no no no) to help navigate this space. There are apps that tell you safe places to fly but the real meat is in the shots you can get and the take-off locations just because of all the restrictions on flying a drone.
Questions I intended to solve
Why are there so many 0$ ? Well I’m only doing 100+ WAU (weekly active users). I’m well within the firebase usage limit but it will swell up soon when I have more traffic (good problem to have).
Building a crowd-sourced app is a big no if you don’t plan to spend time on marketing
If you don’t have time to market your app, crowd-sourced ideas are the worst because you’ll never get the traction you want. When you’re solving a niche problem - this is even worse. You’re never going to get the traffic you want unless you throw money at the problem or have good networking resources. If you have a strong social network/graph anywhere - this might still be worth a shot otherwise getting there is a struggle.
User Experience & UI »> Implementation Details, Optimizations & “Doing it the right way”
This is a hard thing to crunch in when you don’t have a knack for good UI/UX and working in the constraints I mentioned before. I built a super bad design first but quickly learned to navigate Sketch and ended up doing mocks before implementing. The backend is great, there’s a circuit breaker to switch cdn from firebase to s3 when I’m hitting the free tier limit. The iOS app is built using property wrappers, state machines all the way and uses a observer patterns to update globals. Content is geohashed and guess what there is also a react app at https://dronetrails.app with feature parity with the iOS app.
Was it worth it in efforts ? I would hope so but it isn’t. Work the users, build a good looking app cause that is what sells. I spoke to a lot of drone pilots who loved the idea and concept but getting users to share content is a massive task. You have to make the most lucarative task in your app the easiest in user experience. Spend time in this, consult designers and spend some $ if you don’t personally have a knack for this.
Finding the right channels to market
I spent a good time posting on DJI forums, Reddit & messaging pilots on Instagram. A lot of them joined, but not many spent time on the app to experience it completely. This is really hard if you don’t have a strong social network to market within constraints. I don’t know how others do it but this part of the problem definitely involves spending some $. I was fortunate to run into App Airport which made testing my app a lot more easier but other than that user acquisition is a pain.
I enjoy building my ideas. This was fun to build especially hooking up so many tools to make life easier to maintain this app. I also tried to make it as professional as possible with emails, assets and all of the marketing involved. Overall, the app has posts from 10+ countries and has a few hundred users which I did not expect. I feel if my UI skills were much better, I could have nailed the execution better.
I’m going to spend time on learning good design and learning ot sell. Two of the things I felt I lacked and also underrated in app development.