Live demo

Be the customer, then the agent.

Harbor is a pretend freight product with the published package installed: the launcher in the corner and the inbox are the real thing, on their own Postgres. Everyone shares this inbox, and it starts over every 15 minutes.

  1. Pick who you are

    A cookie, nothing more. A real host passes its own login to identify.

  2. Write in

    Open the launcher at the bottom right and send a message. Or press the broken button: it throws an error, the widget opens, and its bug report offers the error it caught.

  3. Answer it

    Become Rowan and open the inbox. Your reply shows up in the widget without a refresh. Nothing is emailed: the demo has no mail adapter.

  4. Look at the rows

    It all lives in a helpdesk schema in the host's own database, Postgres here, as plain tables. These are the newest messages, read with this query when the page loaded:

    select c.number, m.author_type, left(m.body, 80) as body, m.created_at
    from helpdesk.message m join helpdesk.conversation c on c.id = m.conversation_id
    where not m.internal
    order by m.created_at desc limit 5
    numberauthor_typebodycreated_at
    1008contactPrinting a shipping label gives us a blank page on our Zebra printer. PDF downlo2026-11-11 14:45:01
    1007contactWe are a team of five. Is there a trial, and can we import our existing shipment2026-11-11 14:45:01
    1006contactWe move around 8,000 shipments a month across Italy and Switzerland. What would 2026-11-11 14:45:00
    1005contactChanging the pickup window on 40 shipments one by one takes forever. Could we se2026-11-11 14:45:00
    1004contactOur drivers work night shifts. A dark mode in the driver app would be easier on 2026-11-11 14:45:00