Case Study

Lixx

Creation and reading of interactive stories with a narrative choice tree.

AngularFlaskPython

01 — The Concept

Lixx is a web application designed to create and consume interactive stories, akin to the famous “choose your own adventure” books.

This university project was developed to meet the request of a real student client from another campus. The application relies on a system of scenes connected by narrative branches: each user choice guides them to a new scene, potentially leading to diametrically opposed endings.

Illustration du projet
Lixx platform homepage inviting the user to start a story

02 — The Reading Experience

On the reader’s side, the interface highlights available stories via a visual library. Once the story starts, the user is immersed in the plot and faced with choices.

Duo Reading A key feature of the project is the “Duo” mode. It allows two separate players (on two different browsers) to read the same adventure simultaneously. If one player makes a crucial choice, the decision is applied in real-time to the second player’s screen, enforcing perfect synchronization between clients.

Illustration du projet
Library listing the different available adventures

03 — The Authoring Tool (Narrative Editor)

Beyond reading, Lixx is primarily an authoring tool (CMS). The “Author” space allows screenwriters to build their stories without writing any code.

The dashboard makes it possible to create “Scene” cards, write the text, and then generate “Choices” that link this scene to another. This web forms a complex narrative tree stored relationally in the database.

Illustration du projet
Author dashboard to create scenes and branches

04 — Narrative Tree Visualization

One of the major interface challenges was enabling the author not to get lost in their own narrative.

This technical view represents how different scenes (nodes) are connected by choices (arrows). Managing such a graph on the Angular Frontend, while maintaining clean relational IDs via the Flask backend API, required meticulous JSON modeling and optimized queries to avoid long loading times on massive stories.

Illustration du projet
Complex visualization of a choice tree featuring dozens of branches

05 — Platform Administration

Architecture and Team The project involved 5 people (3 Full Stack developers and 2 specialized in database architecture). I operated as a Full Stack developer (Angular/Flask).

The collaborative dimension of the platform required implementing a moderation view (Superadmin) to validate stories before their public release in the library.

Illustration du projet
Admin view for story moderation