Leyla
ألف ليله وليله
A thousand nights, and one more.
Leyla is your cinema at home: the films and shows you own, presented the way a picture house would, on every screen in the house.
Save a seat for the betaPrivate beta from October 12.
Twenty households.
وانطفأت الأنوار
The lights go down
Somewhere in your house, there’s a film someone loves.
Leyla is a little cinema that only shows those. Yours, and nothing else.
لكل بيت فيلمه
Every house has its film
Now showing: yours.
-
The one your father quotes at dinner.
-
The one you’ve seen eleven times.
-
The one you’re saving for a rainy day.
-
The one that made you cry on a plane.
Leyla puts them on a programme, the way a picture house would: what’s new, what you’re halfway through, what fits tonight. Nothing promoted. Nothing rotating out at the end of the month. Nothing you didn’t put there.
ليله كمان؟
One more?
Shahrazad kept the king listening one night at a time. Leyla keeps your place the same way: the next episode is ready, on whichever screen you pick up on.
شباكين وفيلم واحد
Two windows. One film. The same second.
Share a six-digit code, and a house across the city, or across the sea, sits down to the same screening with you.
418206
وأدرك شهرزاد الصباح فسكتت عن الكلام المباح
And morning overtook Shahrazad, and she fell silent.
Every story stops somewhere. Yours picks up tomorrow night, right where you left it.
احجز مكانك
Save a seat for the first screening.
The private beta opens on October 12, for twenty households. Leave your email and we’ll write before the lights go down. We use it for that and nothing else.
غرفة العرض
Meanwhile, up in the booth.
For whoever sets it up: what Leyla does with your films while the house watches, and what it measures itself against.
-
Reel 1
One container, its own database
A single server written in Rust, with PostgreSQL 18 built in and reached only through a socket. Nothing else to install, no port to guard. It even sorts “Élite” and “über” where you’d look for them.
-
Reel 2
As it is, whenever it can be
Each screen tells Leyla what it can decode. The file goes untouched if it plays; repackaged if only its wrapping is wrong; converted only in the part the screen can’t play.
play · copy · convert
-
Reel 3
Lips and words together
Every way Leyla delivers a film is checked for sync on every change, by the timestamps the player actually reads.
sound within 0.3 ms of picture
-
Reel 4
Quiet when the house is asleep
At rest it wakes about once a second and uses no CPU anyone can measure, so a small box in a cupboard stays cool.
0.95 wake-ups a second
-
Reel 5
The graphics chip, once it has proved itself
NVIDIA, Intel Quick Sync and VAAPI encoders, each tested on your own machine before Leyla trusts it. HDR is tone-mapped for screens that can’t show it, and left alone for those that can.
-
Reel 6
Subtitles you can read
Picture subtitles from discs are read into text. Styled ones keep their fonts and their place on screen.
-
Reel 7
It skips what you’d skip
Intros are found by listening for the passage a season’s episodes share. Loudness is measured (EBU R128), so one film isn’t a whisper and the next a shout.
-
Reel 8
Plugins in a sealed can
Posters, plots and extras come from WebAssembly plugins: signed, metered, and walled off from your files. TMDB, TVmaze, fanart.tv and OMDb work without a key of your own.
-
Reel 9
Out of the house, without a cloud
Reach it through your router, your VPN or a proxy you run. No Leyla relay sits between you and your films.
Runs on Docker on Linux, Intel/AMD or ARM: Synology, QNAP, unRAID, TrueNAS, OpenMediaVault, a Raspberry Pi 4 or 5. How to install
Moves in from Plex, Emby or Jellyfin in one step: accounts, watch history, favourites and playlists. Moving over
Plays on any browser, Android phones, Android TV and Chromecast. Fire TV, LG, Samsung, Roku, Kodi, Windows and Mac arrive during the beta. Every screen
Read the booth notes