Kiosk – Desktop App

A macOS and Windows app that lets attendees print their own badge on site.
Role
Design and development (Electron, Node, native module)
Period
2026
Outcome
No more Chrome or command line, and prints that match the preview

Context

At a trade show, the queue at the entrance is often the attendee's first impression. To shorten it, Eventmaker offers badge self-printing: a self-service computer, a barcode scanner and a printer. The attendee scans the code they received by email, and their badge prints.

An on-site printing station: computer, scanner, printer

The hardware is standard. The trouble came from the software.

The old setup

Since 2020, printing a badge without a dialog box meant launching Chrome from the command line:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --kiosk-printing --disable-web-security --user-data-dir=… --disable-site-isolation-trials

Run Chromium with command-line flags (documentation)

A dedicated app

I designed and developed Kiosk, an app for macOS and Windows. You install it, paste the address of the print page, pick the printer, and hit start. It ships with its own Chromium: Chrome no longer needs to be installed on the computer.

The printing kiosk in full screen
BeforeWith Kiosk
BrowserChrome installed on the computerBuilt into the app
LaunchA command lineA double-click
PrinterSet in the systemPicked in the app
FontsSometimes replaced by the driverIdentical to the preview
Network errorBlank screenA clear message, a retry every 10 seconds, an exportable log
Leaving kiosk modeImpossible without the command lineA shortcut, shown on screen

Built for on-site staff

The person who installs Kiosk isn't a developer. They set up a computer on the morning of a show, often in a rush. I paid as much attention to what surrounds the app as to the app itself:

  • setup copy without jargon
  • a test mode that shows the badge without printing it, flagged on screen
  • an icon, an installer and illustrated setup guides, in French and English
The macOS installer: drag Kiosk into Applications

The technical challenge: printing faithfully

Printing a PDF without a dialog box sounds simple. Yet four approaches failed: blank page, black page, unreachable iframe content, wrong fonts with the system print command.

The font problem taught me the most. The PDF did embed its fonts, but the printer driver replaced them. Preview, the macOS app, printed correctly because it uses a different print pipeline. With AI, I was able to write a native module in Objective-C++, a language I wouldn't have tackled on my own, that prints the way Preview does. On Windows, where there's no equivalent, Kiosk turns the badge into a 600 DPI image and prints it without a dialog box.

Every decision is documented, with the approaches we tried and why we dropped them, and on-site testing added its own cases: slow network, corporate proxy, unstable driver.

My role

I owned Kiosk end to end: framing the problem, design, development, Mac and Windows packaging, Apple signing and notarization, documentation and the internal announcement.

The subject sat where product, operations and hardware meet, and had no designated owner. That's often where the most useful problems are.