Skip to content

Concept 04 · Oscura · fictional brand

An immersive hotel website for a lodge that doesn't exist

Oscura is a fictional nine-suite lodge in Chile's Atacama Desert, and its site is our study in immersive design. The sky over it is real: worked out in your browser for the moment you open it, and drawn live, star by star, over the volcano the house faces.

Style
Immersive
Industry
Luxury hospitality
Format
Lodge website
Built with
Next.js, Tailwind CSS, WebGL2, astronomy-engine, Lenis, Cloudflare
Launched
October 2026
Oscura's sky at 21:00, the centre of the Milky Way over Licancabur, as the camera tilts up into the night: dinner at dusk, the page turning red at nine, and the dome's eyepiece opening on the centre of the galaxy, before the page blinks back to the start.
Loads the real sky over the Atacama. Drag it, or scroll through the night.

The idea

A dark-sky lodge sells something it cannot photograph in advance: tonight's sky. Most hotel sites would show a long exposure taken years ago. An immersive site can do better, because the sky is predictable to the second. So Oscura's first screen is the sky over the house now, or at nightfall tonight while it is day in Chile, worked out in the browser from star catalogues and the positions of the Sun, Moon and planets, and drawn over a photograph of Licancabur, the volcano the house faces.

Everything else follows the night. Scrolling the home page runs one night at the house, from astronomical dusk to first light, at tonight's real times. At nine the lamps go red to keep your eyes adjusted to the dark, and the page turns red with them. The calendar prices each night by its Moon, because that is what a dark-sky guest is really choosing.

The lodge is invented — its nine suites, its astronomer and 60 cm telescope, the $1,480 nights — and the site says so in its footer, on its booking form, and to search engines and AI assistants. The sky, the volcano and the times are real. The build is the same code we would ship for a client.

What's on the page

Eight screens, one idea.

  1. 01

    The sky tonight, over a real volcano

    The first screen is the sky over the house at this moment, or at nightfall tonight while it is day in Chile. Your eyes adjust as you watch: the brightest stars come out first and the faintest last, and a counter keeps up with every star above the horizon that your eyes can now reach. The Moon, the planets, the Magellanic Clouds and the centre of the galaxy are named where they really stand. Drag the sky and the night moves on.

    The Oscura home page: the centre of the Milky Way rising over the Licancabur volcano at night, labelled “The centre of the galaxy”, above the headline “Give your eyes twenty minutes.” and a count of 6,815 stars above the house.
  2. 02

    One night, in one scroll

    Scroll down and the camera tilts up off the volcanoes into one night at the house, at tonight's real times: dinner at astronomical dusk, the red lamps at nine, the dome at half past ten, the roofs sliding back at half past one, and the drive to the geysers at first light. A clock counts the night and the sky turns with it. Scroll fast, and the bright stars leave real trails around the south pole of the sky.

    • 20:06 on a large clock beside “The dark arrives” and a photograph of a long table laid outside at dusk, the Milky Way across the sky and a meteor falling.
    • 21:49, and the page has turned red: “Every lamp turns red” beside a figure in a field lit only by a red head torch.
    • 03:24 under a suite's roof, its boards lit red from below as they slide back, beside “The roof slides back”.
    • 06:08 at first light: “Steam at El Tatio” beside a geyser steaming against a pink dawn.
  3. 03

    Through the eyepiece

    When the dome opens, the telescope is turned on the highest thing the house has a picture of at that hour, and an eyepiece grows out of the point in the sky where it really stands, then comes into focus. On a June night that is the centre of the galaxy; on others it is Saturn, the Carina Nebula or one of the Magellanic Clouds.

    The eyepiece open at 00:36: a round view of the crowded centre of the Milky Way in red, gold and blue, captioned “Centre of the galaxy”, over the faded clock.
  4. 04

    A red torch for the southern sky

    Further down, a circle of red light follows your pointer over the sky as it will stand on the next dark night, and inside it the constellations draw themselves with their names. Many of them never rise for anyone north of the equator.

    “Hold up a red torch.” A circle of red light over the Milky Way, with the figures of the Southern Cross, the Fly, the Chameleon, the Keel and the Flying Fish drawn inside it.
  5. 05

    Nights priced by the Moon

    The calendar runs on the Moon. Scroll through the next five weeks and the sky behind changes night by night: the Moon waxes as it looks from the southern hemisphere, the count of stars to the eye falls from thousands to hundreds, and every night is priced as a dark night or a moon night. The booking page lays out three months of real phases; pick up to seven nights and it prices them and counts the stars you will see on the first.

    • The calendar on Friday 19 June, a dark night at $1,480: a crescent Moon beside a photograph of the Milky Way over the desert, and 6,878 stars to the eye.
    • Friday 3 July, a moon night at $980: a nearly full Moon over the volcanoes, and 755 stars to the eye.
    • The booking calendar for June 2026 with the nights of 13 to 16 June picked: four dark nights, $5,920 for a suite.
  6. 06

    The house, the nights, and tonight

    The House draws the nine suites as an arc facing the dark, each named for a star of the southern sky, with a switch that turns every lamp on the plan red. Nights sets out tonight's programme at its real times and what stands highest each hour. Tonight is the live page: a running clock, the stars to the eye, the Moon, the whole sky as a dome chart and the next day's cloud.

    • A collage of the house on the home page: a row of suites at dusk, Licancabur by day in a second photograph, and the line “The sky is the only thing lit from above.”
    • The plan of the house: nine suites in an arc with every lamp switched to red, beside the suites Canopus, Achernar, Acrux, Rigil, Hadar and Mimosa.
    • “What stands highest, hour by hour”: tonight from 20:00 to 03:00, each hour with its three highest objects, from Omega Centauri to the centre of the galaxy.
    • The Tonight page: the whole sky over the house as a round dome chart, beside the objects up tonight with their best times and heights.
  7. 07

    Dawn, at the foot of the page

    The home page ends at sunrise. Over the footer the clock runs on until the Sun is about to clear the horizon, the camera turns to where it will rise, and the volcanoes come back out of the dark.

    The footer at dawn: “Book a dark night” over Licancabur in blue and rose morning light.
  8. 08

    The same night on a phone

    On a phone the night runs in a taller frame: the clock above each chapter, two names in the sky instead of four, and an eyepiece the width of the screen. Swipe the sky to move through the night.

    The night on a phone at 21:49, the page turned red, the clock above “Every lamp turns red”.
    The eyepiece on a phone, the centre of the galaxy filling the width of the screen.

Build notes

How we built Oscura.

The sky

One WebGL2 canvas draws it in three passes. First the sky itself, pixel by pixel: the faint glow of the night air, brighter towards the horizon as airglow is, twilight and moonlight when they apply, the Milky Way and the Moon's disc. Then 41,411 stars from the Hipparcos catalogue, every one down to magnitude 8, and the bright planets, as points sized and dimmed by their magnitudes and by the air they shine through near the horizon. Last, the photograph of the land, graded to the light of the moment.

The positions of the Sun, Moon and planets come from astronomy-engine, an open-source library accurate to about an arcminute, far finer than the eye can tell. The Milky Way is NASA's 2020 all-sky map, built from Gaia and other star catalogues, stretched into a 4K texture. The count on the first screen is the real number of stars above the horizon brighter than the faintest your eyes can reach at that moment.

The land

The volcano is a photograph with its sky cut away, by a mask made from the picture's own colours, so the drawn sky shows through behind the ridge. It is graded to the light of the moment, from twilight blue to moonlight to almost nothing, and split into depths, so the nearest ground slides furthest when you move the pointer or the camera turns.

A night in one scroll

The home page is one long scroll that a single animation loop turns into time. The night's stops are worked out for tonight — the Sun 18° below the horizon, nine o'clock, half past ten, half past one, the Sun 16° below — and each gets its share of the scroll. Where time jumps, from the night to the calendar, the page blinks: two eyelids close and open on the new hour. Moving between pages, it blinks too.

Scroll quickly and the sky turns minutes in a frame, so the bright stars are drawn again where they stood over the last few minutes of sky time, fading: real star trails, curving round the south celestial pole. Meteors fall now and then, and thick and fast while you lie under the open roof.

Red light

At nine the header, the night's words, the names in the sky and the cursor all switch to red at once, with a short dip in the light, as a lamp switch does. Fading the colour through a registered CSS property restyled some 840 elements every frame, so the switch is a single attribute and the dip is drawn by the animation loop.

Share cards from the real sky

Each page's link preview is drawn from the sky as well. A copy of the sky renderer that runs on the CPU draws the stars, the Milky Way, the Moon and the land at build time, each card at a fixed moment, so every build makes the same cards.

Keeping it fast

It is a static export of five pages. Each loads about 230 KB of compressed JavaScript, React, Next.js, Lenis and the astronomy library included, and the sky brings a 1.7 MB Milky Way texture and a 400 KB star catalogue. The canvas caps its resolution at 2.2 million pixels, which held 60 frames a second in a 1440 × 900 window on a laptop's integrated graphics.

The animation loop reads the scroll position from Lenis rather than asking the page, which would force a layout in the middle of every frame. Star trails are drawn only for the brightest stars, with fewer steps after a slow frame.

Accessible by default

To a screen reader the sky is a single labelled section; the night's words, the prices and the questions on the Tonight page are ordinary text, readable with JavaScript off. Without WebGL, a still photograph of the volcano stands in.

With reduced motion switched on, the stars are all there at once, nothing twinkles, no trails or meteors are drawn, and the page scrolls as the browser does.

Shipping it

Cloudflare serves it as a Worker with static assets only: no server code, just the files the build writes. A response header keeps it out of search results, and an llms.txt file tells AI assistants what is real and what is invented. This page is the one meant to be found.

What it doesn't do

The honest list. A concept is only useful if you know where it stops.

  • Nothing can be booked. The calendar works and prices your nights, but the form sends nothing.
  • The lodge, its suites, astronomer, telescope, programme and prices are invented. The sky, the times and the cloud forecast are real.
  • The cloud comes from a live forecast for the house's coordinates; when it cannot be reached, the page leaves it out.
  • The photographs are from Unsplash and NASA. The volcano is real; the house in front of it is not.

Under the hood

Next.js
React
TypeScript
Tailwind CSS
WebGL2
astronomy-engine
Lenis
Cloudflare

Start a project

Want a direction like this for your brand?

Oscura is invented. Yours wouldn't be: we build the direction around your brand, your products and your content. A paragraph is enough to start. You will get a real reply with an approach, a fixed price and a timeline — not a calendar link and a discovery call.