Inspiration
Heritage sites around the world are at risk, from climate change
flooding ancient Carthage to the slow neglect of America's
founding landmarks. But the data is buried in reports no one
reads. We wanted to make people feel what happens when heritage
isn't protected — not through charts, but by standing inside the
world and watching it transform around them.
What it does
You step inside photorealistic 3D worlds of heritage sites from
the 2,800-year-old ruins of Carthage on the Gulf of Tunis to
the founding halls of American independence. You walk freely
through the space, ask an AI narrator about the history, and drag
a timeline from 2026 to 2075. Then you choose: Protect or Do
Nothing. The entire world transforms, a preserved museum where
every artifact is safe, or devastation: flooded ruins with storm
audio, crumbling halls with shattered display cases. A narrator
tells you what was saved or lost, grounded in real climate and
preservation data.
How we built it
We developed photorealistic Gaussian Splat 3D worlds using World Labs Marble, present-day sites and two branching futures for each. These render in the browser via Three.js and SparkJS with WASD first-person movement. Google Gemini 2.0 Flash generates contextual narration grounded in IPCC AR6 and UNESCO Climate Vulnerability Index data. ElevenLabs handles text-to-speech narration and generated ambient soundscapes (storm audio, museum ambience) via the Sound Effects API. The frontend is React 18 + Vite with a minimal floating glassmorphic HUD over the fullscreen 3D world. WebXR is enabled for VR headset support.
Challenges we ran into
Getting World Labs Gaussian Splat worlds to render in the browser
required solving CDN importmap conflicts with Vite's module
resolver — SparkJS loads from CDN while Three.js is bundled, so
they need to share the same Three.js instance. World generation
takes 3–5 minutes per world, and we spent significant time
iterating on prompts to get the devastated vs. preserved contrast
right across two completely different heritage contexts. Gemini's
free tier rate limits hit us during testing, so we built a
pre-baked fallback system that seamlessly serves cached responses
when the API is unavailable.
Accomplishments that we're proud of
The world swap is the moment, you click "Do Nothing" and the
screen fades to black, then you're standing in flooded ruins with
storm audio and a narrator describing what was lost. That
emotional beat lands in under 10 seconds. Building two heritage
experiences, ancient Mediterranean and American founding era,
proved the system works across cultures and time periods. We also
generated ambient soundscapes with ElevenLabs' Sound Effects API
from text prompts rather than sourcing stock audio.
What we learned
Gaussian Splat (SPZ) rendering in the browser is production-ready
and delivers smooth first-person navigation in AI-generated
worlds. World Labs' Marble API can create emotionally distinct
environments from text alone. The biggest lesson: immersion
beats information. A 3D world that transforms around you
communicates the stakes of heritage preservation more powerfully
than any dashboard ever could.
What's next for PolyScape Heritage
Expand to more heritage sites worldwide: Dougga, El Jem, Venice, Great Barrier Reef, Independence Hall. Add VR controller interaction so users can pick up and examine artifacts. Integrate real-time climate data feeds. Partner with heritage and cultural organizations to create educational experiences for schools and museums.
Built With
- elevenlabs
- google-gemini
- javascript
- react
- sparkjs
- three.js
- vite
- webxr
- world-labs
- world-labs-marble-api
Log in or sign up for Devpost to join the conversation.