SiaStory is an learning app for iPad built around my daughter, Sia, as the main character. Her favorite dolls, family members, and book characters form teams and compete in playful challenges. Each character has stored traits such as personality, strengths, favorite things, and weaknesses.
![]() |
![]() |
![]() |
![]() |
The player builds Sia’s team and enters different competitions: cleaning the house, cooking pasta, ski relays, building snowmen, science fairs, treasure hunts, and many more. When a competition starts, the app sends the selected characters and competition details to the backend. An LLM then generates a short Norwegian story based on that exact matchup.
Even the same competition can produce a different story depending on the team composition. This makes the app replayable and gives Sia a reason to keep reading: she wants to know how her characters performed this time.
Training, Official, or Random.Characters have levels. Higher-level characters are more likely to win competitions, but traits and team synergy also matter. A lower-level character can still shine if their strengths match the challenge.
To level up Sia’s characters, the player goes to the training page and solves questions. The current training categories include:
This creates the main learning loop: study to make the characters stronger, then use stronger characters to unlock better chances in story competitions.
SiaStory is organized around four main parts:
This is a personal app and is not published on the App Store.