One public-domain poem at a time, set as large as it can be while still fitting the glass, changed quietly every couple of minutes. Twelve hundred poems by thirty poets, all long out of copyright, all inside the image — Passage never makes an outbound request while it is running.
PaperWarm ground, for a room with daylight in it.InkThe same setting for a room that is not.
Where the poems come from
PoetryDB, which draws on Project Gutenberg. Every poet died long enough ago that their work is in the public domain, and the selection is an explicit list rather than whatever an API returns.
Where it runs
Self-hosted, read-only container, no database and no network. The whole collection is a file inside the image — nothing upstream can disappear or start charging.
What it wants
A screen you read rather than watch. Each poem is measured and set at the largest size that still fits, so a couplet is set huge and a long ode smaller; nothing is ever cut off.
Setup
Put Passage on a screen.
A browser is genuinely enough — Plash and Fully Kiosk below are conveniences, not requirements.
Any screen
nothing to install
Open the display in whatever browser the screen already has.
Go full screen: F11 on Windows and Linux, ⌃⌘F on macOS.
Or give it a browser of its own, which is what a dedicated panel wants: chrome --kiosk <url> — on macOS, open -a "Google Chrome" --args --kiosk <url>.
Turn off display sleep in the machine’s power settings and walk away.
Works on anything with a browser
Mac desktop
via Plash
Install Plash from the Mac App Store — it renders any web page as your desktop wallpaper.
Menu bar icon → Open URL… and paste the display’s address.
Leave Browsing Mode off so clicks pass through to your desktop as normal.
Plash reloads on wake, so it recovers on its own after sleep.
Displays are ordinary web pages, so anything that can hold one open works: a Raspberry Pi on a monitor, a retired iPad, a Fire tablet, the browser built into a TV.
Configuration
URL parameters.
Everything below, plus a live preview and a URL builder that writes the link for you, is at passage.livingkiosk.com/setup.
Parameter
Default
Meaning
dwell
120
Seconds each poem stays up (15–3600).
theme
paper
ink or dusk.
align
left
centre instead — left keeps a hanging indent on wrapped lines.
length
any
short (6–16 lines) or long (17–40).
poets
all
Comma-separated surnames.
placard
on
The title and poet beneath the poem.
seed
—
Pins the walk, so two screens stay in step.
dim
0
Black scrim over everything, 0 to 0.8 (fleet-wide convention).
Passage is open source under the MIT licence. Run it yourself with one command — the repositories go public at launch.