/ParkHeroReactNative

A React Native version of the Park Hero app

Primary LanguageJavaScript

ParkHeroReactNative

A mobile app which accomplishes many things the Disneyland app does with extra features to increase efficiency, personalization, and content creation.

Attractions

Ride and event information are up-to-date, customizable, and available offline.

Ride List

The ride list shows real-time ride status, wait times, and FastPass times.
A list of rides
Each ride has a color (red for bad, green for good) to represent its wait rating that compares the current wait time to the smart average. The smart average is the predicted wait time of the ride at a certain time and is generated using a deep neural network whose model is trained with 2 years of previous wait times, FastPass times, weather, blackout, day of week, day of year, etc.

Custom filters can contain multiple rides selected by the user. Multiple filters can be applied to hide rides.

Filter watchers allow users to get notifications for rides in a filter when certain criterias are met. For example, when Space Mountain has a wait less than 30 minutes or has opened after a temporary shutdown, the user will be notified and will get there before official app users who have to check manually.

Ride

When a ride is selected from the list, users can view wait time and fast pass graphs as well as customize the attraction.
A ride
Users can add multiple of their own pictures to a ride and select a thumbnail (the image shown in the list). The ride name can also be changed. Note that all changes the user makes here are backed up and are consistent throughout the entire app.

Graphs display the rides previous wait times, smart averages, FastPass times, and predicted FastPass times.

Time Machine

Previous and predicted ride information can be accessed with the time machine.
A ride list with predicted times
Weather, blackouts, and park schedules will also be shown for the selected time.

In the time picker, black outs and park hours can be easily accessed.
A calendar with blackout dates and park hours

Events

Along with the ride times, events are customizable and contain event times.
A list of events containing event times

Users

Although the Disney official app has accounts, users are never able to communicate with eachother. Therefore, official app profiles are just an unecessary sign up barrier to start using features such as MaxPass. ParkHero accounts are used to connect with others, backup customization, and NO INFORMATION is required from the user (no sign up and no logging into a Disney account!).

Login

An account isn't required. Users can start using the app immediatley and have access to all features. However, they have the option to create an account with Google or ParkHero if they want to use a different device.

Profile

Users can set their profile name and picture. All public and customizable content is checked for inappropiate content using Google Cloud Vision.
User profile picture and name

Passes

Park passes can easily be added by scanning the pass code with the camera. If a pass code is valid, the pass type, expiration date, and name is aquired.
Passes are added with the camera
A pass list allows you to easily scan into the FastPass line.
Passes are added with the camera

Parties

With the Disney Official App, users must add their party's passes every time they go to the park with different people. In Park Hero, other users can join your party if you invite them. Within a party, you can share passes and press a button to split the passes between phones so you can scan into the FastPass line faster.

MaxPass+

MaxPass is a service offered by Disney where users can order FastPasses from their phone. This obviously provides a large benefit as users can order FastPasses in a line, eating lunch, etc. However, after paying $15, a lot of work is still required from the user. With Disney's offical app, users must manually order a FastPass when the next selection time arrives. If I'm in the many areas in the park with no service, am busy enjoying a roller coaster, or just forgot to set up a timer on my phone, I'm not getting full value from my MaxPass.

MaxPass+ enables parties to queue up the FastPasses they want to order. When the selection time arrives, the FastPass will automatically be ordered, the user will be notified, and the next order will be prepped. The priority of you FastPass orders can also be specified and a dependency tree will be created to provide predicted FastPass & selection time.
MaxPass+ Order Process
If you don't have a MaxPass, ParkHero can still send notifications to remind you when you can order your next FastPass.

Ride Recognition Editing

In Disney World, magic bands are given to each guest so an RFID signal is emitted wherever they go. This allows Disney World to do some cool stuff including creating videos of a guest riding a roller coaster by knowing what car they were in. However, Disneyland does not provide magic bands and, therefore, has no system to create these videos (I imagine the magic bands are too expensive). Ride recognition seeks to create edited video of a guest riding a roller coaster without introducing any expensive hardware.

Ride Recognition uses acceleration to identity exactly which and what part of the ride a guest is on. This information is then used to edit any videos taken by the guest during this time with FFmpeg. Below you can see the first Ride Recognition Edit test.
YouTube Thumbnail
Creating Ride Recognition Edits is relatively simple. A JSON editing recipe is provided that points to video clips and music and easily mixes it in with video of the user riding. Later on, I hope to provide a more robust edit creation and sharing system.

WIP

The map is still a work in progress. Currently, I've written a view to handle the massive image. However, user location and rides must still be shown. Disneyland Map