Take the code
Everything on the Atlas is one repository: the site, every project bundled under it, and the data files behind the research. This page is the map. How it fits together, where each project's source sits, and which parts are yours to take.
Open by default.
How it's built
One Next.js app hosts a set of smaller, self-contained apps. Each was written in whatever suited it.
The host
01A Next.js 15 app in src/. The homepage, the feed, the reports, the glossary, the contact form, the editor gate.
src/app · Next.js 15 · React 19 · TypeScript
The sub-apps
02Each project is its own app in a top-level directory with its own package.json and its own framework. On every deploy they are compiled straight into public/ and served as static bundles. The built output is never committed, so two people can't overwrite each other's build. A few have no build step at all: hand-authored HTML, CSS and JavaScript, committed whole. Interference is fifteen fragment shaders and a file that runs them, and that's genuinely the entire source.
scripts/build-subapps.sh · Vite, Next static export, or committed as-is
One repository
The site and every project bundled under it live in a single repo. Clone it, run it, take the parts the licence gives you.
futures-atlas-02
The host app, every project's source, the research data files, the build scripts and the committed static bundles. If something is on the Atlas, it is in here.
github.com/ether-hill/futures-atlas-02Keys and builds
Every environment file, every built sub-app bundle and the generated footer are git-ignored. No key or password has ever been in the tree, so a clone is safe to run and safe to fork.
Where each project lives
Every project below links to the exact folder it is built from. The three build kinds behave differently, so the tag tells you what you are getting into before you clone: a directory you can npm install and run, or a bundle you can just open.

/interactive-quantum-interference
No source recorded yet.

/futures-in-figures
No source recorded yet.

/stack-games
No source recorded yet.

Fifteen fragment shaders and one shared field.js, used by both the gallery and the embeddable player. No build step: the shaders are the source.

Same split as Signal Reactor: the page is static, /api/quantum-spark in the host app does the generating.

Static export on the front, but its generation endpoint runs in the host app at /api/signal-reactor, so this one needs a key to run fully.


A dashboard plus a separate embed.html player, so a single generative can be dropped into someone else's page.
Run it yourself
The host app and every sub-app build from a single clone. Node 20 or newer; the sub-app builds are skipped unless their source has changed, so the first run is slow and the rest are not.
git clone https://github.com/ether-hill/futures-atlas-02.gitOne repo. The design system comes with it, vendored at packages/futures-atlas-core.
npm installInstalls the host app only. Each sub-app installs its own dependencies when it builds.
npm run devThe host app on :3000. Sub-app routes 404 until you build them at least once.
npm run build:subappsCompiles every sub-app into public/. Slow the first time, then it skips anything unchanged.
Nothing above needs a secret. The environment variables the deployed site uses (the theming store, the editor sign-in, the two generation endpoints) are all optional and degrade gracefully: without them the theme falls back to its defaults, the gated routes stay closed, and Signal Reactor and Quantum Spark render but cannot generate.
What you may do with it
There are three kinds of material here and they carry three different permissions. Find the one that covers what you want.
MIT
The published projects: the interactive pieces, the simulations, the visualisations, the games. Use them commercially, fork them, ship them. Keep the copyright notice and you have met the whole obligation.
CC BY 4.0
Reports, findings, the evidence behind them, the glossary and the datasets. Cite it, republish it, argue with it. Credit the Atlas and link back.
Their own terms
Fonts under the SIL Open Font License, and the Wikimedia portraits in Hypothetica Magnifica under their individual CC licences. We pass those along rather than relicensing them, so check the credit before you reuse one.
What you make with it
If you forked something, wired a component into your own work, or used a prototype in a workshop or a classroom, we would like to hear how it went. Bug reports and pull requests are welcome on GitHub; anything longer is better as a message.
Get in touch