← All work
Infrastructure · 2017

On-Kiosk Hardware Bridge for NFC & HID Peripherals

An airport self-service retail/kiosk platform

Overview

A small local service that runs alongside the customer kiosk app and bridges the touchscreen UI to physical peripherals, NFC/contactless card readers and HID input devices such as scanners.

Why It Exists

A browser/Electron UI cannot talk directly to low-level reader hardware. This service exposes a local REST/RPC endpoint so the front-end can trigger reads and receive device events from peripherals attached to the terminal.

What We Built

A Node.js Restify service (index.js) that wraps nfc-pcsc for PC/SC contactless card readers and node-hid-stream for streaming HID device input. It surfaces these over a lightweight local HTTP/RPC API that the kiosk front-end calls, decoupling UI logic from the specific hardware on each terminal.

Technologies & Approach

Node.js with Restify for a minimal local API, nfc-pcsc for NFC/PCSC readers and node-hid-stream for HID peripherals. Keeping the bridge as a separate process makes the hardware layer independently restartable and swappable without touching the UI.

Outcome / Impact

Provided the hardware abstraction that let the touchscreen app read contactless cards and accept scanner input, a key piece of the self-service flow on each terminal.

Capabilities Demonstrated

  • Integrating NFC/PCSC and HID peripherals from Node.js
  • Building a local REST/RPC bridge between UI and hardware
  • Streaming device events to a desktop kiosk app
  • Decoupling hardware concerns into an independently deployable service
More work See all →