Skip to content
NightmareProject

Document 06 · provenance

How this is made

A horror site that asks you to trust its safety switches should be willing to say how it works. This page is the boring version of the building: what runs it, where the pictures came from, and which parts are a character rather than a fact.

Who The Management is

A character. There is no management, no night staff, no records floor and no complaints department — there is one person who makes all of it, and a persona that finds the whole arrangement tiresome. Every incident number, case reference and disposition you read is generated, and no event described in the October File ever happened.

One rule governs the voice: humour is inversely proportional to intensity. The bureaucracy is funny. The dark is not. By level five The Management has stopped joking, which is the joke.

The exception is anything about safety. The accessibility statement and what we collect are written straight, and every commitment in them is implemented in the software rather than promised in prose. The complaints procedure in the Terms of Scare is a joke; the address on the contact page is not.

Where the pictures come from

The calm scenes — the lake at blue hour, the meadow after sunrise, the rain window, the observation corridor — are generated images, made for this site and kept in the repository alongside the exact prompt that produced each one. Nothing here is a stock photograph, and nothing is scraped from anyone else's work.

The mark is not generated. It is a hand-built vector: solid paths, flat fills, no gradient and no drop shadow, drawn so it stays a clean shape at sixteen pixels and at a metre. The interface icons are a separate 24-pixel, 1.6-pixel-stroke set, and they never stand in for the mark.

Much of what you watch is not a picture at all. The lake, the meadow, the hallway and the rain each run live in WebGL, with a hand-written CSS version underneath for anything that cannot or should not render them — a reduced-motion setting, a weak GPU, or a browser that declines. The fallback is a real scene, not a grey box, and the site drops to it on its own if the frame rate says it should.

How the timing works

Nothing on this site fires on a fixed schedule, because a fixed schedule can be counted. Arrival times are drawn per watch, a hit never repeats back-to-back, and the joke hits are excluded from the pool above level three. In The Wait, roughly one session in twelve is a dud that never fires at all — the possibility of nothing is what makes the waiting work.

The daily material — Wrong Picture, the Feed, the October File — is seeded from the UTC date and nothing else. No visitor data goes into it, which is why everybody gets the same five pictures on the same day, and why an archived file still plays exactly as it did.

What it is built with

Next.js and React, rendered on the server so the words exist in the HTML before any JavaScript runs. Tailwind for the styling, three.js for the live scenes, Postgres for the sent links, and a scheduled job at midnight UTC that turns the day over. It is hosted on Vercel.

Display
Instrument Serif
Every headline, and the only italic on the site.
Text
Geist
Body copy and interface.
Mono
Geist Mono
Case references, timestamps, and anything the paperwork touches.

What is deliberately missing

No accounts, no passwords, no email capture, no newsletter, no advertising, no third-party embeds and no cookies. Every one of those was considered and dropped, because each is a reason to hold something about you, and this site would rather hold nothing.

The cost is real and worth stating: without an account, a Wrong Picture streak lives in one browser on one device, and clearing site data ends it. That is the trade. The storage page lists everything kept, item by item.

— The Management

Back to the lake