npm create @bluecadet/launchpad↖ one package to install. nothing else to stand up.
A toolkit for next generation media experiences.
Launchpad ensures stability, reduces installation time, and allows teams to focus on innovation rather than troubleshooting.
Sources pull from Airtable, Contentful, Sanity, Strapi, or any JSON endpoint, and transforms download and resize media on the way in. New content stages into its own version and only goes live once the whole fetch succeeds, so the worst case for a failed sync is yesterday’s content, not a half-updated screen.
Launchpad launches whatever your installation runs, watches it, and restarts what dies. Window placement and launch order live in the same config, so a machine that reboots comes back arranged the way you left it.
Sources, transforms, monitor backends, and observability transports are swappable pieces, not fixed choices. Reach for Sanity or Grafana Loki out of the box, or implement the same interface yourself when they don’t fit — no fork required.
Built to run unattended
Interactive installations fail in boring ways. The overnight content sync never lands, so a screen shows last month’s labels. An app crashes at 6am, and the first person to notice is a visitor. Launchpad exists to make both survivable without a person on site.
It does three things: pulls content out of the CMS you already run, launches your apps and restarts the ones that die, and forwards a record of all of it somewhere you’ll actually see. That’s the whole scope. It doesn’t author your content and it doesn’t build your app; it keeps the thing you built running after everyone goes home.
Launchpad’s Key Features
What Launchpad handles out of the box.
Control over launch sequence and window order for more complex exhibit setups.
Apps that exit or crash are restarted automatically.
Pulls from Sanity, Strapi, Contentful, Airtable, and generic JSON endpoints (WordPress, Drupal, REST APIs).
Content is stored locally to ride out network outages, with rollback handling so a failed sync doesn’t disrupt what’s already on screen.
Text transformations like markdown to HTML, plus image resizing, filtering, and cropping on the way in.
Every restart, failed fetch, and log line can go to Grafana Loki or any transport you implement.
Sources, transforms, monitor backends, and observability transports all implement the same interface as the built-ins, so swapping one in touches config, not core.
Scaffold a project with npm create @bluecadet/launchpad, then install and run it.
Wire up a source, add transforms, and understand what happens when a fetch fails.
referenceCLI commandsstart, stop, status, and the plugin commands your config adds to them.
Let a running app pick up new content without a restart, over IPC or HTTP.
We developed Launchpad to address challenges we frequently see in Bluecadet’s exhibit projects, which include content-heavy experiences, native apps, and long-term deployments across large fleets of computers.
Adiel FernandezTech Director, Bluecadet
More tools from Bluecadet
Other open source tools built for exhibit and installation work.
Preflight
Windows Bootstrapping
Windows-first configuration management CLI for managed endpoints such as kiosks, signage, exhibit PCs, and other dedicated systems.
Unity Packages
Installation Utilities
Open source Unity packages for interactive installations: GPU-compressed HAP video, physics-based UI animation, multi-touch input, a client for Launchpad's staged content sync, and more.