An open, multilingual guide to the Marvel cinematic universes.
Read it at phasezero.pages.dev
English · Italiano
Note
Every colour above is a saga, and it is the same colour wherever a title from that saga appears on the site. The card and the bar are generated from the project's own design tokens, which is why nothing here is borrowed artwork.
Counted on 17 September 2026. The site's colophon counts the same things live, so if these disagree, the colophon is right and this table is stale.
| 161 titles | 340 characters | 48 glossary terms | 22 organisations |
| 9 collections, 90 pieces | 9 watch paths | 24 questions answered | 5 guides |
| 929 citations across 571 sources | 2 languages, both complete | 1060 static pages | 0 third-party scripts |
Phase Zero explains the Marvel Cinematic Universe and the two connected universes made by other studios: the Fox X-Men and Deadpool films, and Sony's Spider-Man and Venom films. Together that is more than a hundred and sixty films and series made over almost twenty years, released in one order and set in another, by three companies that did not always plan to be connected.
It is not a list. Lists already exist. This is a guide that explains: what to watch and in which order, but also why a character becomes who they are, how the stories connect, what "multiverse" actually means, and what you can safely skip.
When a new film comes out, the watch order here is updated and published.
Two people at once, and this shapes every decision in the project.
Someone who has never seen any of it and is looking at a wall of a hundred and sixty titles wondering where the door is.
Someone who has seen all of it and wants to know why a date in one series contradicts a line in a film, or which source says what.
Both read the same page. Nothing is dumbed down, and nothing assumes you already know. Every entry is layered: a plain sentence for the newcomer, a normal read in the middle, and collapsible blocks holding the depth an expert came for.
Most of these look like small technical decisions. They are the reasons the project can be trusted and can grow, so they are worth writing down.
data/ holds what does not change between languages: dates, runtimes, phase
numbers, chronological order, relationships between entries, actor names.
Written once, used by every language.
content/<code>/ holds what has to be translated: synopses, biographies,
glossary definitions, guides, interface strings.
The alternative, one file holding both, means a translator has to edit a file full of dates they must not touch, and a date correction has to be applied separately in every language. This split makes translation safe and fact correction cheap.
One film is one file. One character is one file.
The earlier private version of this project kept all films in a single file of almost three thousand lines. That works for one person. For a public project it does not: two people editing two different films collide on the same file, and a reviewer cannot see what actually changed.
Now a pull request that fixes the runtime of one film touches one line of one file, and reads in seconds.
Content lives in JSON, YAML and Markdown. Nobody writes HTML by hand, ever. The build reads those files and generates a complete static page for every route in every language.
The alternative is a single page that downloads a translation file and swaps the text in the browser. It is simpler to set up and it is the wrong choice here. Search engines index the page before that JavaScript runs, so translated versions would effectively not exist to them. There would be no shareable URL per language, the text would arrive late, and the site would be blank without JavaScript.
Because pages are generated, every language has a real address, gets indexed, loads instantly and works with JavaScript switched off. The files contributors write are identical either way. Only the moment of assembly changes.
If a page does not exist in your language yet, you get the English text with a notice and a direct link to translate that exact file.
Nothing breaks while a language is incomplete, so a language can start with one person translating the interface and grow from there. Every gap is an invitation.
Adding a language means adding one entry to config/languages.json and creating
a directory. No code changes. If a language ever requires touching code, that is
a bug in the code.
Each entry in data/ records where its facts came from and the date a human
last checked them.
This is what separates a reference from a fan blog, and it has a practical effect on how the project runs: review becomes objective. A maintainer does not need to know more than the contributor. They need to check that the source says what the entry says.
When sources disagree, both are recorded and the disagreement is explained rather than hidden. Those contradictions are real, and for the readers who care most they are often the most interesting thing on the page.
No posters, no studio logos, no promotional art, no screenshots.
Those are copyrighted. Hosting them would expose the project, and would force everyone who forks it to inherit that exposure. Instead the visual identity is built from vector artwork generated from the data in this repository.
There is a side effect we like: the site looks like itself, rather than like every other site built out of the same publicity stills.
The single mark from outside is the GitHub logo in the footer, drawn as SVG in this repository and used only to link back to here. The rule is about the films, and about anything that is somebody else's to licence.
You can mark what you have already watched, and it is still there the next time you open the site in the same browser. Working through a hundred and sixty titles takes months, and losing your place every visit would make the guide much less useful.
That is done entirely with browser storage. Nothing is sent anywhere, there is no account to create, and the project never learns what you have watched. The trade-off is worth stating plainly: clear your browser data or move to another device and the marks are gone, because there is nowhere else they could have been kept without collecting them. Moving your progress between devices is handled by exporting a small file and importing it on the other side, which needs no server and no account.
Everything else is static. No backend to maintain or pay for, no analytics that identify anyone, and no third-party scripts that are not needed to draw the page.
A house style, applied without exceptions.
The reason to have no exceptions is that it turns a matter of taste into something a script can check, so it never has to be discussed in a review. The build rejects both. Icons are SVG. An en dash is allowed between digits, as in 2008–2012.
Code is MIT. Content is CC BY-SA 4.0.
Code should be as reusable as possible, so it is permissive. Content is collaborative knowledge, so it stays open: you can use it anywhere, including commercially, as long as you credit the project and keep adaptations under the same license. This is the arrangement Wikipedia uses, for the same reason.
config/ languages and site settings
data/ facts, one file per entity, language independent
titles/
characters/
content/ prose, one directory per language
en/
it/
src/ code, containing no hardcoded text
scripts/ the validation CI runs, and what the build writes afterwards
public/ files served as they are, including the preview cards
Here is one film across the whole system.
data/titles/iron-man.yml, written once for every language. This is the real
file, with the fields that are empty for this title left out:
id: iron-man
type: film
universe: earth-616
franchise: iron-man
saga: infinity
phase: 1
tier: essential
release:
date: 2008-05-02
runtime: 126
status: released
chronology:
order: 600
setting: "2010"
source: "https://en.wikipedia.org/wiki/Marvel_Cinematic_Universe_timeline"
requires: []
leadsTo:
- the-avengers
sources:
- url: https://en.wikipedia.org/wiki/Iron_Man_(2008_film)
title: Iron Man (2008 film), Wikipedia
accessed: 2026-09-07
- url: https://en.wikipedia.org/wiki/Marvel_Cinematic_Universe_timeline
title: Marvel Cinematic Universe timeline, Wikipedia
accessed: 2026-09-07
verified: 2026-09-07content/en/titles/iron-man.md, the prose:
---
title: Iron Man
oneLine: A weapons manufacturer builds a flying suit of armor to escape his
captors, then turns it against the weapons his own company sold.
tagline: The film that started all of this
---
Tony Stark inherited a weapons company and never questioned it. He is brilliant,
rich, and completely uninterested in what happens after a shipment leaves the
factory. That ends when he is ambushed during a demonstration in Afghanistan,
wounded by one of his own devices, and held in a cave by the people who bought it.
:::detail{title="Why it matters"}
This is the film that established the shared-universe format, and the
post-credits scene is the first time that plan is stated out loud.
:::content/it/titles/iron-man.md is the same shape with Italian sentences. A
translator copies the English file and translates it. No code involved.
Node 20 or later.
git clone https://github.com/synaps3s/phase-zero.git
cd phase-zero
nvm use
npm install
npm run devThe site is at http://localhost:4321.
Before opening a pull request:
npm run validateYou do not need any of this to fix a fact or translate a page. Those can be done entirely from the GitHub website.
Everyone is welcome, including people who have never opened a pull request.
Read CONTRIBUTING.md for the full guide, or CLAUDE.md for the short version. CODE_OF_CONDUCT.md applies to everyone taking part.
The smallest useful contribution is opening an issue about something that looks wrong. That is genuinely helpful and costs you two minutes.
People who have improved the catalogue without opening a pull request are recorded in CREDITS.md.
Code is MIT. Content is CC BY-SA 4.0.
Phase Zero is an unofficial, fan-made project. It is not affiliated with, endorsed by, or sponsored by Marvel Studios, The Walt Disney Company, 20th Century Studios, Sony Pictures, or any of their subsidiaries.
All film titles, series titles, character names and trademarks are the property of their respective owners and are used here for identification and commentary.