Spatial Narrative Systems / Front-End Prototyping
Into the Poppyverse
A map of a fictional multiverse: 230 stories, 20 universes, and the lines that tie them together. Fly through it instead of reading it in order.
Start here
What is the Poppyverse?
A long-running fictional multiverse, written one story at a time.
It's a collection of stories set across a quantum multiverse: workplace comedies about pilots and their mechanized partners, quiet grief, crossovers with other fictional worlds, and the occasional branch that notices it's fictional. The project describes itself as "a quantum story archive for narrative inconsistency, emotional damage, and suspiciously well-organized chaos."
Every story belongs to a universe, a branch of the multiverse with its own tone and its own corner of the lore. Some stories also reach across, with characters, timelines, or alternate versions of the same people colliding with another universe.
That's the trouble. After a while the archive was too big to hold in a list, and too tangled to hold in a wiki.
By the numbers
A lot of words, in a lot of places.
Every one is a single point on the map.
Branches of the multiverse, each with its own colour on the map.
The sub-parts (parts, chapters, and versions) that make up the stories.
Roughly eighteen novels' worth.
Lines where one story or universe touches another.
Stories you can read right now, hosted on Notion.
Counted from the original story archive (about 8.5 MB of plain text), skipping personal and holiday folders. A story can be made of many text files, which is why 1,304 files make 230 stories.
The challenge
How do you enter a huge fictional world without reading a manual first?
The problem
Too interconnected for a table of contents. Too sprawling for a map of dots.
Readers don't ask "what's story number 117?" They ask "which universe is this?" and "what else does it touch?" A flat list answers neither, and a wiki buries both in clicks. A universe isn't just a label on a story. It's a place of its own, and places can relate to each other too.
The brief
Make the whole archive explorable at a glance.
Universes you can see, count, and enter. Stories you can open and read. And the ways they touch drawn as real, visible lines. Atmospheric enough to feel like a cosmos, structured enough to still be a tool.
The idea
Two kinds of thing, and lines between any of them.
The map has two kinds of thing: universes and stories. A relation can connect any two of them.
In the data a universe is a cluster and a story is a node. On screen, a universe is a ring and a story is a sphere inside its ring. Both are first-class: you can click either one, and either one can be on the end of a line.
Two stories whose characters or timelines collide.
5 on the map todayA story that touches a whole universe, not one story in it. The line lands on the ring's nearest edge.
78 on the map todayWhole universes leaning on each other's fourth wall.
Supported · none authored yetEvery relation is written by hand in Notion, from either end, and drawn on the map as a single line.
Where it started
It all started as a little sketch.
No wireframes. No mockups. Just this, scribbled in a few minutes.
Three wobbly rings, a handful of scribbled points inside them, and some white lines that don't much care what they join. Everything else on this page is that sketch, taken seriously.
How to read the map
A ring is a universe. A sphere is a story. Size is how much there is to read.
Ring size
radius ∝ √ text
A universe's ring grows with the total text inside it, so the big branches look big at a glance. Each ring is tilted at its own angle, so they never stack into a wall.
Story size
radius ∝ ∛ text
A story's radius follows the cube root of its length, so the volume of each sphere is proportional to how much there is to read. It's clamped, so one monster manuscript can't swallow its whole ring.
Position
seeded, not measured
Which ring a story is in is information. Where it sits inside is decoration. A fixed seed gives the same universe every build; a new seed rearranges it on purpose. Trailers float free of every ring, like comets.
Rings off. Just colored clouds of stories.
Rings on, with inter-universal relations. Every universe has an edge.
Fun fact
The rings aren't actually rings.
They're inspired by stellar superbubbles: enormous cavities carved through space by the combined winds and supernovae of massive stars. Their surrounding gas shells look brightest around the edges, an effect called limb brightening, so a three-dimensional bubble appears to us as a glowing hoop.
Basically: the universe also uses circles to organize its explosions.
A story, opened
Click anything and the card slides in.
Stories and universes open the same card, with different contents.
- A story card shows its description, size and status, and its characters. Open takes you to the story itself, hosted on Notion.
- A universe card swaps in its own stats: how many stories, how much text, how many relations.
- Relations are chips. Click one and the card jumps to the thing on the other end, whether that's a story or a whole ring.
"The Iridescent Line" opened from the map: description, details, characters, connections.
Shape glossary
Colour sorts the universe. Shape tells you what kind of thing it is.
Ring
A universe.
Sphere
A story, hosted on Notion.
Cube
An e-book.
Pyramid
An intro to a universe.
Comet
A trailer, floating free of any ring.
Universe glossary
The 20 universes.
Biggest first. A ring's size follows how much text it holds, and its dots are its stories, just like on the map.
welcome to the poppyverse
30 storiesThe Poppyverse's front door: workplace comedy, growing pains, and everyday life for pilots and their mechanized partners, before things get complicated.
by the bayverse
27 storiesLife in the Bay Area is surprisingly peaceful. Any explosions are probably from a previous life.
area fifty-done
17 storiesA top secret research base where the hallways forget basic geography, the elevator remembers people, and the incident log gave up trying to make sense of any of it.
cherry blossomverse
17 storiesA sightseeing tour of Washington DC where the monuments answer back, the National Mall glows colored light, and the strangest variable is a woman named Iris with a working phone number.
43
16 storiesA half-assed, failed fusion attempt with the 86 (Eighty-Six) universe — we tried to reach 86 but only made it halfway through the fourth wall before getting stuck. 86 divided by 2 is 43. Yay math. Welcome to the 43.
fireweedverse
16 storiesA universe branch grown in the burn scar of Fire Force: spontaneous human combustion, Infernals, Company 8, and the terrible things that grow from bodies the fire did not finish.
marbleverse
15 storiesThe largest branch of the multiverse. Nobody knows where all the marbles went.
lilyverse
13 storiesA decorated commander, a questionable past, and a ghost made of light.
houston houston
12 storiesThe Johnson Space Center Visitor Center has some unfiled anomalies.
anomalies in pink
11 storiesEverything looks prettier in pink. That doesn't mean it's harmless.
deeper into the poppyverse
11 storiesSame multiverse branch, deeper layers, fewer safety rails.
pelagoverse
8 storiesA whole new world beneath the waves, where the strangest things aren't always the ones with fins.
spider lilyverse
8 storiesA reflective branch strung together with spider lilies, gold repair, and the things PILOT and DONOR keep trying to protect for each other.
beyond the poppyverse
7 storiesWhere the metaphors go cosmic -- souls, stars, and the site's own thesis statements about what any of this actually means.
desert roseverse
7 storiesA sun-bleached branch where the desert mirages aren’t the weirdest thing around.
toulouverse
3 storiesBonjour from Toulouse! A French aerospace branch where the callsigns are prettier and the radio still crackles with the same old numbers station.
sheep milk latte
2 storiesRetired PILOT and DONOR run a sheep ranch, vend baked goods at farmers markets, and raise kids on bedtime stories that may violate a federal NDA.
shibuyaverse
2 storiesA writer publicly interrogates her own relationship to character arcs, identity, and spectacle, live, in manga panel form.
to be hero y
2 storiesA hero economy runs on belief instead of money, and the newest icon used to be a firefighter with an ordinary apartment and a coffee habit.
ultravioletverse
2 storiesLive in the shadows, work in the shadows.
Design iterations
The universe went through some phases first.
Before landing on the final design, the same stories were laid out on a plane, wrapped onto a sphere, boxed into a cube, and stretched along a cylinder. The current design is what's left once the question changed from "which axes?" to "which container?"
How it's built
Not just a viewer. The whole pipeline.
The stories and the map's data all live in Notion. A build script turns them into a static site, so the interface can't drift from the data and there's no server to keep running.
Notion
Full CatalogueCluster CatalogueEvery story and every universe is a row; the stories themselves are Notion pages. Edit a row, rebuild the site.
One build script
build_all.pyone read-only fetchlayout + lines computedOne Python pass hands the same rows to every page's generator.
Static pages
home · about2D map · 3D mapPlain HTML, CSS and JS with the data embedded. Nothing touched by hand.
GitHub Pages
static hostingno server, no databaseA universe that deploys as flat files.
The art gallery
The multiverse, rendered as sky.
The map is a tool: axes, scores, a structure you can actually navigate. But a multiverse should also feel like one. So I fed the archive back into Midjourney and let it render the Poppyverse as pure cosmos, every branch a coloured galaxy, every story a mote of light, no legend required.
Go wander.
3D space is a suggestion. Canon is unstable.
Pick a glowing ring, fly over, and land wherever you're curious. The lines will do the rest.
