Field notes
A dark hero for an API or infra product: a dotted globe drawn from real coastlines, with traffic arcs firing between cities and landing in a ping. Drag to spin it. No models, no textures, no map requests.
Meridian is a landing page for a fictional edge network: a full-screen hero with a turning globe, a live requests-per-second counter, a stat row, three feature cards, and a closing call to action with the deploy command. The globe is made of about 4,000 land dots, and seventeen routes between fourteen cities light up in turn: a bright head races along each arc and sets off a ring where it lands.
The coastlines come from Natural Earth (public domain), baked once into a 2.7 KB bitmap inside the source, so the page makes no map requests and the one prompt rebuilds it exactly. Drag sideways to spin the globe; it keeps a little momentum and then goes back to its own slow turn. Anyone who prefers reduced motion sees it still, with every route drawn in.
How it's built
- Coastlines without a map file: Natural Earth land was rasterised once to a 180 × 90 grid, one bit per 2° cell, and pasted into the source as a 2.7 KB base64 string. The globe decodes it with atob and looks up any latitude and longitude in one line.
- Dots that sit evenly: 16,000 points are laid on a Fibonacci lattice, so they are spaced the same at the poles and the equator, and only the ones over land are kept, about 4,000 of them in a single Points draw call. A dark sphere just inside hides the far side.
- Arcs are tubes with a travelling head: each route is a great circle between two cities, lifted off the surface by a sine that grows with distance. The fragment shader lights the part of the tube just behind a moving head, brighter than white so Bloom catches it, and a ring pings where it lands.
- A loop that closes: the globe turns exactly once per 20 s loop and each arc fires two or three whole times, so the preview wraps without a seam. On the page, a sideways drag adds yaw with momentum on top of the turn.
Inside the prompt
Every file below is written out in full, so your agent creates the project exactly — no guessing, no missing pieces.
meridian-globe/
├─ .gitignore
├─ index.html
├─ package.json
├─ tsconfig.json
├─ vite.config.ts
└─ src/
├─ App.tsx
├─ index.css
├─ main.tsx
├─ vite-env.d.ts
├─ components/
│ ├─ GlobeScene.tsx
│ ├─ Hero.tsx
│ └─ Sections.tsx
├─ lib/
│ ├─ data.ts
│ ├─ geo.ts
│ └─ loop.ts
└─ shaders/
└─ globeShaders.tsRecut it
- Move the edge cities or add your own
src/lib/data.ts → CITIES - Change which cities talk to each other
src/lib/data.ts → ROUTES - Rewrite the stats and feature cards
src/lib/data.ts → STATS / FEATURES - Recolour the dots, the arcs, or the glow
src/components/GlobeScene.tsx → DOT / TEAL / HOT - Make the globe denser, bigger, or place it elsewhere
src/components/GlobeScene.tsx → Globe() - Make arcs fly higher or lower
src/lib/geo.ts → arcPath() - Rename the product and the headline
src/components/Hero.tsx → Hero()
Also in the vault
Monolith
3D InteractiveA floating hexagonal basalt monolith split by glowing cyan fissures, with drifting debris, a light shaft, and pointer parallax. Procedural GLSL stone — no textures, no models, no network.
Kinetics
Scroll HeroA dark SaaS hero where giant type slides with scroll inertia, glass stat cards tick like a live dashboard, and a frosted dock magnifies under the pointer. Pure DOM and Framer Motion — no canvas, no images.
CodePulse
Video GeneratorPaste a snippet and export a glowing, typed-out code clip as MP4 — square for X, vertical for Reels, Shorts, and TikTok. A Remotion composition with VS Code-grade highlighting and a live browser preview.