Website

Live

The Midnight Picture House

A shared digital cinema I designed and built to explore being together online through a room, its lights, sounds and small reactions, with a season of old, creepy films.

Why I made this project

I wanted to create an experience people could share without a chat, comments, likes or the usual social features. Something closer to the way people share a cinema room: we share the lights, the sounds and the reactions.

That is why the room has shared settings. If someone turns the house lights on, they turn on for everyone. The popcorn and shushing sounds are shared too. When someone enters, the people already inside hear a small noise announcing their arrival.

I also wanted to make an online festival that did not require people to be there all the time. You could share five minutes of a movie with someone, and that would be enough.

The room itself mattered just as much: what it looked like, the movement of the curtains and the sound they made. I wanted the cinema to feel like a little place people could enter together.

It is a little pointless and a little cute. I like that.

A 37-second walkthrough of the cinema, its room controls and programme.

Featured by OpenAI Developers

OpenAI Developers featured this project in its Codex community projects thread on 19 October 2026. See the post featuring the cinema.

How the room works

The first season runs from 15 to 31 October 2026, with three daily sittings. Visitors join the screening at its current point, leave when they want and return while the film continues.

The shared effects make other visitors present through small actions. House lights, popcorn and shushing affect the room. Sound volume and leaving the cinema remain personal choices.

The cinema with its curtains open and a film playing on the screen
Inside the room during a screening.

Making the experience

I generated the room in Midjourney, then worked in Codex to turn that image into an actual space where things happen.

I worked on the movement and timing of the curtains, the house lights and their occasional flickering, and the way the room responds to its visitors. The image became a place you could enter, with a programme, a shared screening clock and small things happening around the film.

I added the sound of the curtain rail, a creaking seat when someone arrives, popcorn and audience reactions. Sound became part of what made the room feel like a space people were sharing.

I sourced the sound effects from Freesound. Most are CC0 recordings; the audience “aww” uses CC BY 4.0, with attribution in the cinema’s sound credits.

Medium: an interactive, browser-based environment with image, animation, sound and embedded films. Dimensions: responsive to the visitor’s screen. Tools: HTML, CSS, JavaScript and TypeScript, WebSockets and Cloudflare Workers with a Durable Object. The existing films are the programme; my work is the room and the shared experience around them.

An ending for the season

The festival also has a closing sequence: the curtains close over an end card, and visitors can open them again to watch a message from management. I created the message from management using a combination of Midjourney and ElevenLabs. These images show the prepared ending; the final attendance count will be filled in when the season closes.

Preview of the end-of-season screen over the closed curtains, with final attendance still pending
The closing-screen preview, with final attendance still pending.
The closing management message playing inside the cinema with the curtains open
The message from management, shown in the room itself.