Sculpt continents, ignite volcanoes and wrap worlds in living atmospheres β then render them in cinematic 4K, all from your browser. No installs, no plugins, no bake times.
Launch the Studio β Β Β·Β Live Demo Β Β·Β Report a Bug
Genesis turns a single random seed into an entire, explorable world. Procedural fractal noise displaces a sphere into terrain, custom GLSL shaders paint oceans, land and snow, and a cinematic post-processing stack composites it all into a film-grade frame β at 60 fps, in real time.
It ships with a polished marketing site and a full-featured Studio where every parameter β terrain, biomes, palette, vegetation, lighting and render β is yours to direct live.
- π Seven world archetypes β Terra (Earth-like), Colossus (gas giant), Glacius (ice), Ares (desert/Mars), Selene (cratered moon), Ignis (volcanic) and Neonix (cyberpunk ecumenopolis), each hand-tuned.
- β°οΈ Procedural terrain engine β multi-octave fractal Brownian motion + cellular (Voronoi) noise for craters, all seeded and reproducible.
- π¨ Custom GLSL shaders β biome-aware planet surfaces, swirling gas-giant storms with domain warping, animated cloud layers, banded planetary rings and a fresnel atmosphere shell.
- π¬ Cinematic rendering β HDR bloom, film grain and vignette via
@react-three/postprocessing. - πΉοΈ Real-time Studio β a bespoke glassmorphism control panel (no dev GUIs) driven by a single Zustand store, with collapsible sections for terrain, biome levels, palette, vegetation, lighting and render.
- πΈ One-click export β save the current frame as a PNG, or copy a shareable link.
- πͺ Deep-link presets β
/studio?type=lavaopens straight into a world. - π± Responsive & accessible β works on desktop and mobile, with reduced-motion-friendly interactions.
- πΌοΈ Cinematic imagery pipeline β a build-time script pulls curated 4K photography from Unsplash (key never reaches the browser).
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| UI runtime | React 19 |
| 3D engine | Three.js + React Three Fiber |
| Shaders | Hand-written GLSL |
| Post-processing | @react-three/postprocessing |
| State | Zustand |
| Procedural noise | simplex-noise |
| Animation | Framer Motion |
| Styling | Tailwind CSS v4 |
| Language | TypeScript |
# 1. Clone
git clone https://github.com/shahriar-ahmed-seam/genesis.git
cd genesis
# 2. Install
npm install
# 3. (Optional) configure imagery
cp .env.example .env.local # add your Unsplash Access Key
# 4. (Optional) fetch cinematic imagery
npm run fetch:images
# 5. Develop
npm run dev # http://localhost:3000π‘ The repo ships with imagery already in
public/images, so steps 3β4 are optional. Without an Unsplash key the app falls back gracefully.
| Command | Description |
|---|---|
npm run dev |
Start the dev server (Turbopack) |
npm run build |
Production build |
npm run start |
Serve the production build |
npm run lint |
Lint with ESLint |
npm run fetch:images |
Pull curated imagery from Unsplash |
genesis/
βββ app/ # Next.js App Router
β βββ page.tsx # Cinematic marketing landing page
β βββ studio/ # The interactive 3D studio (page + client)
β βββ layout.tsx # Root layout, fonts, SEO metadata
β βββ globals.css # Design system & Tailwind layer
βββ components/
β βββ planet/ # The 3D scene β Scene, Planet, Atmosphere,
β β # CloudLayer, PlanetRings, Trees
β βββ site/ # Landing-page sections (Hero, Worlds, Galleryβ¦)
β βββ studio/ # Studio UI (ControlPanel, Toolbar, controls)
βββ shaders/ # GLSL: planet + gas-giant shaders
βββ hooks/ # usePlanetTerrain (procedural geometry)
βββ lib/ # Zustand store + image manifest helpers
βββ config/ # Planet archetype definitions
βββ scripts/ # Build-time Unsplash image pipeline
βββ docs/ # Architecture & release notes
See docs/ARCHITECTURE.md for a deeper dive into the rendering pipeline.
Genesis is a static-friendly Next.js app and deploys to Vercel with zero config:
vercel --prodOr connect the GitHub repo in the Vercel dashboard for automatic deploys on every push.
Cinematic photography courtesy of Unsplash β see the in-app footer for individual photographer attribution (NASA, Lightscape, Jeremy Thomas, Nicolas Thomas, Javier Miranda, Ezi and more).
MIT Β© Shahriar Ahmed
