SIGNAL-9 is a fictional pirate radio station rendered as a living CRT terminal. The whole set — phosphor, scanlines, boot log, three-mode visualizer — is one HTML file with no images and no libraries.
Four cheap layers sell the CRT illusion:
repeating-linear-gradient, 1px dark / 2px clear.text-shadow at two radii (6px tight, 24px haze) on a single green.steps(60) keyframe — the 50Hz shimmer.::after with mix-blend-mode:screen, like a mistuned tube.Each line of the init log types itself with randomized 8–26ms per-character delays, then hands off to the next line after a randomized pause. Randomness is the whole trick — fixed-interval typing reads as fake instantly. Lines carry status classes ([OK] green, [SKIPPED] amber) like a real init system with opinions.
The carrier monitor cycles through spectrum / oscilloscope / waterfall on click — all driven by summed sine waves, no audio API needed:
v = ( sin(t·2 + i·.40)
+ sin(t·3.7 + i·.13)
+ sin(t·0.9 + i·.77) ) / 3 // organic "signal"
The spectrum draws segmented bars (3px ticks with gaps — like LED meters); the scope layers two traces at different frequencies; the waterfall pushes each frame's spectrum into a history array and paints 26 rows of decaying cells. A translucent black fill each frame gives every mode phosphor persistence.
The design would be an empty costume without the writing: a schedule of impossible shows (Numbers Station Karaoke), intercepted transmissions that drip in every nine seconds, a doctrine box in warning-amber, a shell prompt that types sudo make waves. In terminal aesthetics, copy is the texture — every string on screen is doing set-dressing work.
Two fonts (VT323 for voice, Space Mono for chrome), two colors plus one alarm tone, and the four CRT layers above. Then write the fiction first and the layout second — a terminal page is a screenplay wearing a stylesheet.