Stornaway is a tool that enables the production and exporting of films with a non-linear narrative as well as features to allow watching the films created within the platform.

Stornaway is a versatile tool designed for the production and export of films featuring a non-linear narrative structure. It offers a range of features that enable viewers to seamlessly navigate through the films created within the platform.

One of the key components of Stornaway is a customized video player that empowers viewers to make choices as the story progresses. This interactive feature allows for an engaging and personalized viewing experience.

The application serves various storytelling purposes, catering to different genres and formats. For instance, it can be utilized to create fictional films where the viewer can actively determine the direction of the narrative. Alternatively, it can enhance documentary films by enabling users to conveniently navigate to specific chapters using provided prompts, without the need to watch the entire film.

The development of Stornaway involved leveraging Ruby on Rails and JavaScript. My primary focus during the project was on the frontend of the application, specifically on designing and implementing a video player that seamlessly transitions between scenes, enhancing the overall viewing experience.

The Stornaway app graph. It shows multiple nodes connected together.
In the studio, the story can be mapped out by creating islands and connecting them.
Stornaway studio app with drawer opened showing additional fields the user can fill out.
Additional details can be set on an island such as colour of the prompts, whether it is a start or an end and more.
The Stornaway player, similar to any other web video players, it has controls such as a player button and a progress bar.
The story can then be viewed using the player.
The Stornaway player showing the available choices the user would have to pick from at a certain point in the story.
The configured prompts show throughout the story, giving the viewer control on what happens next.