Mumbai, India
Home About Services Work Blogs Contact
Start A Project

a poster doesn't buffer

Draper Signage

Draper is an open-source, offline-first digital signage player built by To Be Named Labs. It installs with one command on any Linux machine, down to a Raspberry Pi Zero 2W, and keeps your screens running whether the internet shows up or not.

type
Studio product · open source
licence
GNU AGPL v3
we did
Product, UI/UX, software, embedded Linux
status
Early release · repo opening soon
  • 0cloud calls to play content
  • 1command to install
  • Pi Zero2W, the smallest target
  • AGPLopen source
Draper Signage interface designs: scheduler, settings, Wi-Fi setup and player screens — To Be Named Labs
the whole product on one table. dashboard on the left, what the screen shows on the right.

01 / why

We built it because every screen we saw was waiting on Wi-Fi

Nobody asked us for Draper. We built it for ourselves, then kept going.

Every time we needed a screen to show something simple — a menu, a queue number, a shift target — the options looked the same. Sign up for a cloud platform. Pay a fee per screen, every month. Hope the venue Wi-Fi holds. When it didn't, the screen sat there loading.

That felt backwards. A printed poster never needs the internet to stay on the wall. A digital one shouldn't either. It should just be a poster that can change.

Display what matters. Keep displaying it when the network doesn't.

So we wrote down three rules before we wrote any code. Play from the device, always. Run on the cheapest Linux board you can buy. Install without a manual.

02 / who it's for

Screens that live where the internet doesn't behave

Draper fits anywhere a screen has a job and the network can't be trusted to show up for it.

  • cafés & restaurantsMenus, specials, prices. Change them from the counter, on the shop's own Wi-Fi.
  • clinics & waiting roomsQueue info, health notices, timings. Keeps running through every outage.
  • factory floorsShift targets, safety notices, andon boards. GPIO and USB tie content to the line itself.
  • retail & eventsPromotions and schedules on cheap hardware you can leave behind after the event.
  • low-connectivity sitesRural offices, basements, warehouses. Places where cloud signage turns into a black rectangle.
  • makers & integratorsA signage layer you can script, extend and ship inside your own product.

03 / the rule

Offline is the baseline, not the fallback

Most signage players treat the cloud as home and local storage as a backup plan. We flipped it. Every asset and every schedule lives on the device. The player reads from local storage first, every time. The network only matters when you want to change something.

Pull the plug and see the difference.

Same content, same schedule. One player streams first, one plays from the device first.

network: online

stream-first player

Fetches the next item from a server when it's time to show it.

draper, cache-first

Plays from local storage. Syncs changes when the network is around.

simplified illustration, not a benchmark. plenty of players cache something; the question is which one the system trusts first.

04 / small

Built for a ₹1,500 computer

We picked the smallest target we could find and designed down to it: a Raspberry Pi Zero 2W. If Draper runs there, it runs anywhere. Any Linux box works — Debian, Arch, whatever you already have.

Small hardware forced honest choices. Every dependency had to earn its place, because dependencies are debt.

Tauri, not Electron. Electron ships a whole browser with every app. Tauri uses the webview the system already has. The player stays small and starts fast.

Go for the backend and dashboard. One compiled binary. No runtime to install, no package tree to babysit.

SQLite for state. One file on disk. Nothing to configure, nothing to keep alive.

SolidJS for the interfaces. Fine-grained updates, no virtual DOM, tiny bundles. The UI does its work and gets out of the CPU's way.

No containers. No cloud agent. No database server. Just the player, one binary, and a file.

05 / install

One command, then put content on the screen

Signage setup usually means accounts, licences, a pairing code and a long afternoon. Draper installs with a single line in the terminal. It pulls the player and the dashboard, sets them up as services, and boots straight into the player.

# any Linux box, Pi Zero 2W and up
              $ curl -fsSL [install-url] | bash

Then open the dashboard from any phone or laptop on the same network and drop in your first image. That's the setup.

Draper player boot screen in landscape — To Be Named Labs
boot screen, landscape
Draper player in portrait orientation for vertical displays — To Be Named Labs
portrait works too

06 / the dashboard

One view per job

Draper's operator is usually a shop manager, not an IT team. So the dashboard does four things and puts each one in its own place.

Scheduler. Active assets on top, inactive below. Toggle something on, set its duration, done. Upload. Drag in images or video — PNG, JPEG, WebP, MP4, MOV, AVI. Settings. Display duration, audio output, orientation, splash screen, login, and scheduled backups of assets and settings. System info. Load, free space, uptime, serial, MAC and local IP, so whoever is helping over the phone can see what you see.

Nothing buried, nothing repeated. The interface is infrastructure. If you notice it, we did something wrong.

Draper scheduler dashboard listing active and inactive assets with duration, resolution and toggles — To Be Named Labs
the scheduler. what's on, what's off, how long each runs.
Draper upload dialog for images and videos — To Be Named Labs
uploaddrop a file, hit continue
Draper settings with display options and scheduled asset and settings backups — To Be Named Labs
settings + backupbackups run on a schedule, locally first

two screens a manager actually opens

07 / when things go wrong

A screen should never just go black

Every signage system fails eventually. The question is what the screen says when it does.

Draper never leaves a blank. If there's no network to join, the screen turns into its own setup guide: it starts a hotspot and shows the network name, password and a QR code. Scan it with any phone, open the portal, pick the Wi-Fi. If something else breaks, the screen shows the exact local address where you can fix it.

The screen is the first thing a person sees when something's off. So we made it the first place they find the answer.

Draper no-network screen showing hotspot name, password, address and QR code — To Be Named Labs
no networkthe screen becomes the setup guide
Draper Wi-Fi network management page for choosing a network — To Be Named Labs
wi-fi portalpick a network from your phone

error states are product, not afterthoughts

08 / beyond the screen

GPIO, USB and a local API: signage that touches hardware

This is where Draper stops being a slideshow. It reaches the board it runs on.

GPIO and USB. Read pins and USB devices to trigger content, collect data or sync with other modules. A button cycles the menu. A motion sensor wakes the screen. A barcode scanner pulls up a product. A line sensor flips the andon board red.

REST API on the local network. Reboot the player, manage assets or pull backups from any device on the same network. Script it, wire it into your POS or MES, or build your own controller on top.

Most signage software stops at the HDMI port. We build hardware, so we didn't. This is the same embedded and IoT work we do for clients, packed into a product anyone can use.

09 / optional cloud

Google Drive, if you want it. Never if you don't.

Some teams want their screens to report home. Draper can sync assets, screenshots and settings to Google Drive, and push IP stats, system logs and activity into Google Sheets for remote monitoring.

All of it is optional. Draper works fully with zero Google setup. Drive sits beside the player, never in front of it. If Google goes down, your screens don't notice.

That's the line we hold for every new feature: add whatever helps, as long as the offline-first core stays untouched.

10 / not there yet

Where Draper still falls short

We'd rather say it than have you find it.

Network switching is clunky. Moving a player between its own hotspot and a venue's Wi-Fi works, but it takes more steps than it should, and some phones fight the handover. We're rebuilding it around a proper captive portal, so joining a network feels like logging into café Wi-Fi.

One dashboard per screen. Today each player runs its own dashboard. Fine for one to three screens, tedious for twenty. A multi-screen dashboard is next on the list, built so it never becomes the thing every screen depends on.

Neither problem touches playback. Both slow you down at setup. That's where we're spending our next cycles.

11 / open source

Why we're giving it away

Signage is a solved problem wrapped in subscriptions. The software to put an image on a screen shouldn't cost a monthly fee per screen. So Draper is free, and the source is open.

We picked the GNU AGPL v3 on purpose. Use it, change it, run it in your shop or your product. If you modify Draper and offer it to others as a hosted service, you share those changes back. That keeps Draper open and stops it from turning into one more closed subscription.

The repository opens soon, with the install script and docs. Email us to get the link the day it goes live.

And if you need Draper inside something bigger — a branded enclosure, sensors wired into content, a fleet of fifty screens — that's the work we do. Draper is the proof.

12 / compared

How Draper differs from the usual options

Digital signage approaches compared
cloud signage platformsenterprise on-premDIY scriptsdraper
Plays without internetVaries, often limitedYes, needs a local serverYesYes, by default
Cost per screenMonthly subscriptionLicence + serverFreeFree
Smallest hardwareVendor player or mid-range boardPC-classAnyRaspberry Pi Zero 2W
SetupAccount + pairingIT projectHours of tinkeringOne command
Operator interfaceYesYesRarelyLocal dashboard
GPIO / USB triggersRareRareIf you write itBuilt in
Local APIUsually cloud APISometimesNoREST on the LAN
Source codeClosedClosedYoursOpen, AGPL

13 / specs

What's inside

Draper Signage specifications
PlayerTauri, SolidJS, TypeScript, SQLite
DashboardSolidJS, served by the Go backend on the local network
BackendGo, single binary
OSAny Linux: Debian, Raspberry Pi OS, Arch and others
Smallest targetRaspberry Pi Zero 2W
InstallOne command: curl | bash
ContentImages and video: PNG, JPEG, WebP, MP4, MOV, AVI
OrientationLandscape and portrait
ConnectivityOffline-first. Local dashboard. Hotspot + Wi-Fi portal when no network is found
Hardware I/OGPIO, USB
APIREST, local network
Optional cloudGoogle Drive backup + Google Sheets logging. Off by default
RAM at idle (Pi Zero 2W)36 MB
Disk footprint50 MB
Power-on to first frame30 s
Install time1 min
LicenceGNU AGPL v3

Questions we get about Draper

Can digital signage run without internet?

Yes. Draper is built offline-first, so the internet is not required for playback. Content and schedules are stored locally on the device, and the display continues running even when connectivity is unavailable. The dashboard works over the local network, while services such as Google Drive backup remain optional. Cloud services never sit in the playback path. We built it this way because the environments where signage is deployed aren't always connected or predictable. The display should keep doing its job regardless.

Why was Draper built offline-first?

Because signage has to work where it is deployed, not just where it was configured. A digital signage system shouldn't stop displaying content because a Wi-Fi router went down or a cloud service became unavailable. Draper keeps the critical playback path local and treats connectivity as an enhancement rather than a requirement. We're also interested in building software and hardware that remains useful over time. That means avoiding unnecessary dependencies, keeping systems lightweight and giving people more control over the hardware they have paid for. For us, a display shouldn't become unusable simply because a subscription ended or a cloud service changed. The product should continue to do the job it was built to do.

Can a Raspberry Pi Zero 2W run digital signage?

Yes. Draper is designed to run on hardware as small as a Raspberry Pi Zero 2W. The player is a lightweight Tauri application with a SolidJS interface and SQLite for local storage. The dashboard and backend run as a single Go binary, with no containers, Electron runtime or cloud agent required. We deliberately build with the lower end of available hardware in mind rather than designing around the latest and most powerful systems. A lighter system is easier to deploy, easier to maintain and gives us a strong foundation to build features on without constantly increasing the hardware requirements. It also means older, capable hardware can continue to be useful instead of becoming obsolete simply because the software has become heavier.

Is Draper Signage open source?

Yes. Draper is released under the GNU AGPL v3. Anyone can use, modify and self-host it. Anyone who modifies it and offers it as a network service has to publish those changes. The public repository opens soon; email info@tobenamed.in to get notified.

Can Draper be customized for different hardware and use cases?

Yes. Draper is software-first, but it was designed with real hardware deployments in mind. It can run across different Linux-based computers and display configurations, and can be extended to work with buttons, sensors, GPIO, USB peripherals and other local hardware. This makes Draper useful beyond conventional advertising screens, from information displays and kiosks to interactive installations and operational interfaces. The starting point is usually the use case rather than the technology. Once we understand what the system needs to do, we can work backwards to the simplest hardware and software setup that makes sense.

Can Draper connect to sensors and other devices?

Yes. Draper can interact with hardware and local systems through GPIO, USB and its local REST API. A display doesn't have to simply play a predetermined playlist. External events can trigger content or change what the display shows, while APIs can allow other systems to automate what appears on screen. This opens up possibilities that aren't common in traditional signage — displays that react to physical triggers, operational data, sensors or events happening around them.

Who is building this custom digital signage hardware and software?

To Be Named Labs, a hardware product studio in Mumbai, builds Draper and takes on custom signage work: enclosures, sensor-triggered content over GPIO and USB, integrations through the local REST API, and fleet setups. Industrial design, electronics, firmware and software in one team.

Need screens that work when the network doesn't? Let's talk.

Use Draper as-is, or bring us the bigger version: custom hardware, sensors, fleets. See more of our work or how we approach software.