Brite POSBritePOS
Brite Kitchen

A kitchen display the cook actually likes.

One ticket per (course_group, station). Tap a header to claim it, tap a line to mark it. Bump fires every line in the group as ready. Real-time across every station, no polling.

Screenshot placeholder
Station view — one ticket per course group
Screenshot placeholder
Expo view — every station, every order
Station-aware tickets

The Cold Prep cook doesn't have to scan a mixed-station card.

A 'Sides' course-group containing both a Cold Prep salad and a Hot Prep side renders as two tickets in expo views. Per-station cooks see only their items via the server's station filter.

  • Course-group rollup
    A single Bump on a group ticket bumps every line in it — even across multiple legacy courses.
  • Per-card claim
    Tap a ticket header to claim it. Every other KDS in the kitchen sees the color flip via kds.course.claim.
  • Per-line mark
    Tap an item to strike it through pre-bump. Broadcasts kds.item.mark across stations.
  • Bump
    Fires every line in the group ready. Cashier cart rows flip color, booking row picks up the tint.
View modes

Column or accordion. Whatever suits the station.

Screenshot placeholder
Column mode — one column per order
Screenshot placeholder
Accordion grid — collapse / expand / claim cycle
  • Column mode
    One column per order, tickets stacked vertically. Tap a column-header pill to focus a single table.
  • Accordion grid mode
    One card per order, expandable course-group sections with a 3-tap header cycle.
  • Vertical zoom slider
    Persists across launches. Cooks set their own card size.
  • Edge indicators
    Thin glowing bar on the right edge when tickets exist off-screen during a rush.
Recall + multi-station

Restocked? Sent the wrong dish? One tap to re-fire.

The hamburger's Recall pulls the most-recently-bumped line on the active station back to new, restamps kitchen_completed_at, and broadcasts so cashier + bar see the order come back online. Recalled tickets show with a red Re-Called banner.

Video placeholder
Multi-station claim + recall demo
Sidebar busy indicator

See what every other station is doing without leaving yours.

Station pills in the sidebar glow when another station has open work. The Cold Prep cook can see Hot Prep is busy without peeking at their screen.

Screenshot placeholder
Sidebar — station pills glowing
  • Glow indicator
    Per-station pill lights up when other stations have open work.
  • Dynamic card heights
    Two-item tickets render short, nine-item ones render tall — no wasted screen real estate.
  • Hamburger menu
    Recall last bump, Refresh, Sign out — within finger's reach during a rush.
Built to stay connected

Heartbeat watchdog + auto-reconnect. No more 'why didn't the order appear?'

Every Custom Brite App pings the realtime channel every 30 seconds and forces a reset if no frame arrives within 60. That catches the zombie-socket case where a laptop sleep or NAT timeout leaves a TCP connection half-open — the kind of failure where the screen still looks alive but no events flow.

  • Client-side heartbeat
    Proactive ping every 30s. The Pusher protocol only specifies a server-initiated heartbeat; the client-side counterpart catches the half-open case it doesn't cover.
  • Silence watchdog
    If 60 seconds elapse with no frame at all (not even our own pong), the connection is treated as dead and reset.
  • Auto re-subscribe
    After a reconnect, every active channel re-issues its pusher:subscribe automatically. Operators see no gap.