Background
Disneyland (DL) offers a paid skip-the-line service called, Lightning Lanes Multi Pass (LL). Unfortunately there are many rules and complexities to the service, if you are familiar, skip to the next section, if not, keep reading to understand why DL park-goers would get my app! You can purchase the LL service as soon as you enter the park by going to the DL app. Guests then use the DL app to obtain LLs, which are on a first come first serve basis. For the best rides, it can be super difficult to obtain a LL, and even if you do, it can at an unideal time. For example, if in the morning you get a 7PM LL, there is a rule that you must wait 2 hours to book the next LL. The only way around this rule is to use a LL. So, the ideal way to book lightning lanes, without blocking the ability to obtain them for 2 hours, is to book them as close as possible to now! One more thing, throughout the day, LLs can reopen as other users are getting rid of theirs, or Disney can make new ones, to artificially control crowd levels. The only way to know about a new available LL is to refresh the app, and seeing that new LL, and booking it before someone else. Because of this, DL guests get the best use of this paid service, by constantly having their phones open and refreshing the LL page.
Inspiration
I used to live closer to Walt Disney World, when it had a similar system, called FastPass+. I would often spend a significant portion of my visit refreshing the app, looking for FastPasses. One day, I told my mom, "this is so monotonous a robot should be doing this." After that trip, I spent months developing a python bot with twilio, to text me during the trip, which would be our "companion", booking Fastpasses for us while getting to enjoy the park. That trip, we rode significantly more rides, while spending a fraction of the time on our phones. I instantly tried to come up with a way to market it. I landed on an iOS app, that would tell you when the Fastpass you wanted was available, but while working on the system, the pandemic hit, closing Disney Parks, and ultimately ending the Fastpass system. Four years later, I planned a Disneyland trip for my 1 year old son, and wondered if the new LL system made the available time slot available to those without a park ticket and without paying for the service. When I found out the data was there, I began working on this app, LaneScout!
What it does
LaneScout allows you to choose the DL park you're at, the rides you want a LL for, and the return time range that you're looking for. For example: "I want to ride Matterhorn or Indiana Jones, between 8-9am." Then, the backend will handle the monotonous refreshing for you. When it finds one, you get a push notification, which when tapped opens the DL app to the LL page.
Other Features (if you want to read!)
LaneScout has 2 other primary features, one of which requires explaining another complexity of the LL service. Multiple Experience Notifications: If a ride is broken during your LL return time, Disney gives you a pass to ride any similar ride with a LL at any point in the day, which is called a Multiple Experiences Pass. Obtaining these can quickly change your day from waiting in line for many rides, to getting to ride whatever you want with no line. LaneScout identifies these scenarios, and will let you know! For example: "Indiana Jones is broken right now, and there's a LL open 5 minutes from now." Book that LL, wait 5 minutes and you'll be able to ride any ride in the park with no wait! Broken Ride Notifications: When a ride comes back online after it's broken, this is an ideal time to ride, as it will have the shortest wait! LaneScout can alert user's of this, when they enable it for a ride.
How we built it
The front end is a SwiftUI app, using Firestore as the backend. The push notifications use Firebase Cloud Messaging. Revenuecat is used to handle payments. The backend has two main parts: There are Firebase Functions that help maintain the Firestore data. Additionally I have an AWS EC2 instance which runs a python script, which handles the scraping + notifying users.
What's next for LaneScout for Disneyland
My next plans are to establish a consistent set of free tier users, just focusing on growth. My server costs are relatively low, so I can live with no income on the app. To do this, I'm focusing on adding free features to the app. Two of these will be: ride wait time notifications + wait time graph widgets.
Built With
- firebase
- firestore
- python
- revenuecat
- swift
- typescript
Log in or sign up for Devpost to join the conversation.