Open-source project
magnum6actual/flipoff avatar
magnum6actual/flipoff

FlipOff: A Split-Flap Display Emulator for Any TV or Monitor

Free split-flap display emulator for any TV. The classic flip-board look, without the $3,500 hardware.

3,007 stars370 forksJavaScriptLicense varies

At a glance

What is it?
FlipOff is a zero-dependency, open-source web app that turns any browser into a retro airport-style split-flap display, with authentic scramble animations and recorded mechanical sound. It runs fully offline from a single index.html file with no build step and no accounts required.
Who is it for?
FlipOff is the right tool if you want a split-flap display aesthetic for a TV, kiosk or ambient display on any device with a browser and no budget for hardware. The total setup is cloning the repository and opening index.html.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Activity is slowing. The repository last received commits 6 months ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What FlipOff is and the problem it solves

Airport and train station flip-boards, also called split-flap displays, cost thousands of dollars in hardware. FlipOff is a free web application that replicates their look in a browser, intended for use on a TV or large monitor as an ambient display. The README states the price comparison directly: the classic flip-board look, without the $3,500 hardware.

The project is aimed at anyone who wants an eye-catching ambient or decorative display: makers setting up a living room info panel, venues wanting a retro aesthetic on a lobby screen, or developers building something that needs a flip-board visual without the physical hardware cost. The only requirement is a browser. The README specifies that it works from mobile to 4K displays and is fully responsive.

The application displays auto-rotating inspirational quotes by default. Users can replace those quotes with their own text by editing a single JavaScript file. There are no accounts, no subscriptions and no server to run.

How the split-flap animation and sound work

Each character position on the board is an independent tile element. When a message changes, only the tiles whose characters differ between the old and new message animate. This mirrors how a real mechanical split-flap board works: only the panels that need to move actually flip.

The animation sequence is a scramble: the tile cycles through random characters with colorful backgrounds before settling on the final character. The scramble duration, the stagger delay between tile animations and the accent colors are all configurable through js/constants.js.

Sound is handled by SoundEngine.js using the Web Audio API. The audio clip is a single recording from a real split-flap display, played once per message change. The README states this is recorded from a real split-flap transition to sync visually with the animation. Audio is muted by default and must be enabled by clicking anywhere in the browser first, which is a browser security requirement for autoplay policies.

The Board.js file manages the grid of tiles and orchestrates the transition. Tile.js handles the 3D flip animation for each individual tile. MessageRotator.js cycles through the list of messages on a timer. This separation keeps each concern in its own file and makes the code approachable for inspection or modification.

Installing and running FlipOff

FlipOff requires no build tools, no npm install and no server. The README describes the full setup:

1. Clone the repository. 2. Open index.html in a browser. 3. Click anywhere to enable audio. 4. Press F for fullscreen TV mode.

For a local development server, the README gives a one-liner using Python:

bash
python3 -m http.server 8080

Then open http://localhost:8080 in a browser. Serving over HTTP avoids any browser restrictions on local file access that might affect the Web Audio API in some configurations.

Keyboard navigation is built in: Enter or Space advances to the next message, Arrow Left goes to the previous message, Arrow Right goes to the next, F toggles fullscreen, M toggles mute and Escape exits fullscreen. These shortcuts work without any additional setup.

The file structure is a single index.html and five CSS files under css/ (reset.css, layout.css, board.css, tile.css, responsive.css) and five JavaScript files under js/ (main.js, Board.js, Tile.js, SoundEngine.js, MessageRotator.js). There is also js/constants.js for configuration.

Customizing messages, grid size and colors

All configuration is in js/constants.js. The README documents four categories of customization:

- Messages: replace the default inspirational quotes with your own text by editing the messages array - Grid size: adjust GRID_COLS and GRID_ROWS to change the number of character positions on the board - Timing: change SCRAMBLE_DURATION and STAGGER_DELAY to control how fast the scramble animation runs - Colors: modify SCRAMBLE_COLORS and ACCENT_COLORS to match your display's color scheme

This is a code-level customization. There is no UI for editing messages at runtime. If you want dynamic content, such as live data feeds or time-based messages, you would need to write JavaScript that updates the message list and call the appropriate Board.js method.

The README does not describe an API for pushing messages from an external source, nor a server component for remote control. For a display that rotates through static text, the current design is complete. For a display showing live information like weather or news, the user would need to extend the JavaScript themselves.

Limitations and what FlipOff does not do

FlipOff is a static single-page app. It has no backend, no persistent storage and no way to update content remotely without modifying the source files. Adding a live data feed requires custom JavaScript code and a separate data source.

The Web Audio API requires user interaction before playing audio in most browsers. The README addresses this by instructing users to click anywhere to enable sound, but it means the first message change after opening the page will be silent unless the user has already clicked.

The project has no licence file in the repository top-level entries, only a statement in the README that it is MIT. This may be a concern for organizations that require a formal LICENCE file for compliance review.

FlipOff has no tagged releases and no versioned changelog. The last push was on 2026-03-26. There is no mechanism for updates to reach deployed instances; each deployment is a manual clone or download.

A real split-flap display like Vestaboard generates dynamic content from connected services and a mobile app. FlipOff replicates only the visual and audio experience of the hardware, not its content management or connectivity features.

Editorial conclusion

FlipOff is the right tool if you want a split-flap display aesthetic for a TV, kiosk or ambient display on any device with a browser and no budget for hardware. The total setup is cloning the repository and opening index.html. Customization is limited to editing js/constants.js to change messages, grid size, timing and colors. There is no server component, no database and no runtime dependency beyond a browser that supports the Web Audio API. The project carries no licence identifier in the repository description, though the README states MIT. The last push was on 2026-03-26, which is more than six months before today, and the repository has no tagged releases.

Frequently asked questions

Does FlipOff require installing Node.js or npm?

No. FlipOff is pure HTML, CSS and JavaScript with zero external dependencies. You can open index.html directly in a browser or serve it with any static file server, including Python's built-in http.server module.

Can I change the messages FlipOff displays?

Yes. Edit the messages array in js/constants.js to replace the default inspirational quotes with your own text. The README also documents constants for grid size, animation timing and colors in the same file.

Does FlipOff work offline?

Yes. The README explicitly states that FlipOff works offline with zero external dependencies. All code and assets, including the recorded audio clip, are included in the repository.

Official sources

  1. Issues
  2. magnum6actual/flipoff on GitHub
  3. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/magnum6actual-flipoff.svg)](https://hysenlabs.com/projects/magnum6actual-flipoff)