Braden Evans

Solutions Engineering

live demo

case study

Customer and problem
ACME operates three restaurants, and its loyalty and customer data is disconnected from the register.
Solution
Faux POS surfaces allergies and rewards during ordering, prevents unsafe selections, sends orders to the kitchen, and exposes integrations through REST APIs and webhooks.
What I built
The register, kitchen display, API, isolated demo databases, offline fallback, demo tooling and sales collateral.

proof

More technical evidence
  • Inspect mode (opens in a new tab)

    Press the wrench in the app to see the real source and API call behind what just happened.

  • Postman collection

    passed14 requests and 28 assertions, 0 failed. Run with Newman on at commit 49f254d.

    Example API calls

    A peanut item on a guest with a peanut allergy

    POST /api/checks/{check}/items
    X-Visitor-Id: {visitor}
    
    { "menu_item_id": "item_bangkok_bowl" }

    409 Conflict

    {
      "error": {
        "code": "allergy_conflict",
        "message": "Bangkok Chicken Bowl conflicts with Sarah Miller's peanut allergy: Crushed peanuts, Satay sauce.",
        "conflict": {
          "conflicts": [
            {
              "label": "Peanut allergy",
              "severity": "severe",
              "ingredients": ["Crushed peanuts", "Satay sauce"]
            }
          ],
          "alternatives": [
            { "name": "Ginger Chicken Bowl", "price_cents": 1700 },
            { "name": "Garden Grain Bowl", "price_cents": 1500 },
            { "name": "Harvest Salad", "price_cents": 1500 }
          ]
        }
      }
    }

    The same charge sent twice

    POST /api/checks/{check}/payments
    X-Visitor-Id: {visitor}
    
    {
      "idempotency_key": "ba43f331-589c-4891-88f2-2527958f9b6a",
      "method": "card",
      "amount_cents": 1316,
      "tip_cents": 0
    }

    201 Created, then 200 OK with the same payment

    {
      "payment": {
        "idempotency_key": "ba43f331-589c-4891-88f2-2527958f9b6a",
        "status": "approved",
        "amount_cents": 1316,
        "processor_transaction_id": "pi_mock_58499282476a4b229b14b481ed338fe0"
      },
      "check": {
        "status": "paid",
        "subtotal_cents": 1700,
        "discount_cents": 500,
        "tax_cents": 116,
        "total_cents": 1316
      }
    }
  • Failure behavior

    Present mode can decline cards, take Table Club down or stop the webhook endpoint, and the register keeps the order through each. If the backend fails or hits its rate limit, Safe Mode runs the same API in the browser. I forced a real 429 on production to check it.

  • Stack and implementation notes

    What each technology does, and how the pieces fit.

contact