AI systems for support, operations and content.

Pick the one closest to your problem — each one opens straight into the real, running thing.

The work

  • 3 data sources unified
  • 100% Shopify fee accuracy
  • ~10 min/week manual entry
Portfolio · 6 stores This month · 1–5 Sep 2026
  • Revenue $1.59M +14.7% vs the previous period
  • Net P&L $371K +16.1% vs the previous period
  • Net margin 23.3% +0.3pp vs the previous period
  • ROAS 3.33× −0.10 vs the previous period
  • AI support agent

    Live demo

    Support that answers itself, until it can't.

    All channels12 open · 3 waiting
    Lena R. returning customer · 3 orders Resolved · no handoff
    1. Lena R. 09:14

      Hi — where is my order? It was supposed to arrive Tuesday.

    2. Agent 09:14
      grounded in orders/4417 · fulfilment record

      Order 4417 · Lena R. · shipped 2 Mar 08:10 · carrier SEUR · tracking ••••8841 · last scan 3 Mar 22:40 Barcelona hub · estimate 5 Mar · 1 day late (carrier delay flag)

      It shipped on 2 March and it is one day behind — the carrier logged a delay at the Barcelona hub last night. Current estimate is tomorrow. Tracking ends ••••8841.

    3. Lena R. 09:15

      Ok. Can I still change the delivery address?

    4. Agent 09:15
      grounded in policies/delivery · address changes

      Address changes are accepted until the parcel reaches the final delivery depot. After the last-mile scan the carrier controls the address; customer is directed to the carrier's redirect page.

      Yes — it has not reached the final depot yet, so I can change it. Send me the new address and I will update it on this order.

    • Chatwoot
    • Make.com
    • OpenAI API
    • Claude API
    • +3
  • Voice agent

    Live demo

    A phone agent that books, qualifies, and knows when to hand off.

    Line · Bookings1 call live
    Inbound · +44 ••• ••• 4402 Booked · Tue 15:00
    1. Caller Hi — I need someone to come and clear my gutters.
    2. Agent Happy to help. What's the postcode?
    3. Caller SW11 3QT.
    4. Agent That's covered. I have Tuesday at three, or Thursday morning.
    5. Caller Tuesday at three works.
    6. Agent Booked for Tuesday at three. I've texted the confirmation to this number.
    Decision trace
    • intent booking · gutter clearing · 0.94
    • slot service = gutter clearing
    • policy postcode required before any slot is offered
    • tool coverage.check(SW11) → in area · crew 2
    • slot postcode = SW11 3QT
    • tool calendar.freeBusy(7d) → 6 open · 2 offered
    • policy offer two, nearest first — never read the whole diary
    • slot slot = Tue 15:00 · 90 min
    • action calendar.book(Tue 15:00) → id 8841
    • action sms.send(confirmation + reschedule link)

    What the agent decided between hearing and speaking. Tool calls are real function names; the results are sample data.

    • Dograh
    • OpenAI API
    • OpenAI Realtime
    • Twilio
    • +1
  • Content agent

    Live demo

    Product in, on-brand output out — with the rules applied.

    Batch · Autumn drop48 drafts queued

    Input Ridge overshirt · merino wool · $148 · 4 colours

    SKU RD-OS-04 · merino wool overshirt · $148
    attributes pulled from the catalog record, not from a brief

    Variant 1

    380gsm merino, cut relaxed. Warm enough to be the jacket, light enough to stay on inside.

    • material named ✓
    • 112 characters ✓
    • no price ✓

    • Make.com
    • OpenAI Vision API
    • OpenAI API
    • Shopify
    • +1
  • Email agent

    Live demo

    Inbox triaged, drafts written, exceptions surfaced.

    Account · Primary4 signals armed
    Inbox · 5 sample messages Walking the inbox — pick one to stop
    • Accounts 08:12 re: invoice 2291 — payment terms We can pay this, but our terms are 45 days net and the invoice says 14. Can you reissue?
    • Procurement 09:41 Quote request — 40 units Looking for pricing on 40 units delivered to two sites, ideally before the end of the month.
    • Customer 10:03 Third time asking about my delivery Nobody has replied to either of my last two emails. This is the third time I am asking and I want it resolved today.
    • Partnerships 11:20 Quick intro — mutually beneficial I work with brands in your space and would love 15 minutes to explore a partnership opportunity.
    • Ops lead 11:47 Portal down for our whole team since 09:00 Nobody on our side can log in. We have twelve people sat doing nothing. Please tell me what is happening.
    Triage rubric
    Sentiment 0.15 below −0.5 the agent stops writing and hands the thread over
    Intent billing · terms query one of eleven classes; anything unmatched routes to a person
    Urgency 38 70+ jumps the queue and pings the owner
    Route Finance · draft the queue it lands in, and whether a draft is written at all
    • read thread of 4 · invoice 2291 attached
    • matched customer record · terms on file = 30 days
    • rule terms change > 30 days needs finance sign-off
    Draft reply Draft ready · awaiting send

    re: invoice 2291 — payment terms

    Your account is set to 30 days, not 14 — the invoice was issued on the wrong template and I've flagged it to be reissued. 45 days is outside what I can agree here, so I've put it to our finance lead with the history on this account. You'll hear back on this thread. The corrected 30-day invoice will follow either way.

    • Make.com
    • n8n
    • Claude API
    • Gmail
    • +1
  • Also built

    Trading bot — A backtested strategy runner. Different stack — built as an experiment.