One link can be the saved artifact.
BIGWORDS.PAGE turns a browser into a full-screen sign, timer, slide deck, or QR display. The editor writes the message and settings into the URL fragment after #. The project says the display has no account and stores nothing on its server. Its repository documents the same client-side state model and a static self-hosted build.[1]
This is a useful design constraint for developer tools. A link can reopen a review filter, trace window, benchmark setup, or incident view without inventing a user account or hidden save button. The link must still expose what it contains. A URL is portable, not secret.
Portable state beats mystery state when the contents are safe to share.
Plain text can move without becoming video.
ascii.rest publishes animated text pieces for web pages and terminals. Its README documents a custom HTML element, framework components, terminal playback, a static first frame for server-rendered pages, and a reduced-motion default. Readers who prefer less motion get the first frame unless they choose to play.[2]
The restraint matters. Motion can show time, load, direction, or a state change. It does not need to become a background tax. Park the animation by default when the operating system asks. Keep the text or first frame useful on its own. Put playback under a real control.
Old machine behavior can survive a new host.
demoscene-recomp runs classic PC demos in the browser. Its project page says an x86 emulator records executed code blocks. The project translates those instructions to C, compiles the result to WebAssembly, models the timer, VGA card, and Sound Blaster, then compares output against emulator events.[3]
That is a stronger preservation story than a lookalike animation. The browser is the new host, but the project keeps the old program's instructions and hardware-facing behavior in view. Tool migrations need the same honesty. Separate the artifact, the compatibility layer, and the proof that behavior still matches.
Steal the useful constraints.
- Put safe, compact view state in a readable link.
- Keep the initial screen complete before animation starts.
- Use native controls for motion, state changes, and copy actions.
- Name what the server receives. A fragment does not make the browser private.
- When compatibility matters, compare behavior against the old system instead of trusting visual similarity.
The inspection bay below makes one boundary concrete. It shows how path, query, and fragment state alter a URL and which parts enter a normal HTTP request target.