Marketplace · FranceIn progress

An in-app AI assistant for every role in a beauty marketplace: shop admins, artists, clients and the operations team

A role-aware assistant built on Claude with typed tools over the marketplace API. It books and confirms, collects deposits, drafts stories and daily summaries, suggests rebookings and helps clients reserve, with the tool list derived from the active space and approval before every write.

Client
Beauty marketplace AI assistant
Engagement
Ongoing partnership
Period
2026 to present
  • 5roles, each with its own tool list
  • 57V2 to V4 stories that specify agent behaviour per role
  • 0writes without an explicit approval
The product

What it is

The marketplace's roadmap treats the assistant as a first-class interface, not a help widget. A shop admin tells it to book a client tomorrow at 14:00 and send a deposit link, to collect an outstanding balance by payment link or Tap to Pay, to draft a promotional story from authorised media, or asks for the morning summary of the whole shop. An artist asks for today's agenda, new reviews and their portfolio. A client asks it to find a slot for two services with the same professional, to rebook what they had last time at current prices, to buy a gift card or reserve a rental. The operations team uses it to inspect a failed operation and prepare a safe retry. Each role gets a different assistant because each gets a different set of tools.

Where we came in

The founder is non-technical, the app is built by a separate team, and the backend is ours. Every roadmap story from V2 onwards is written twice: in-app behaviour and agent behaviour per role, with the rule that app and agent must share the same permissions, business rules and reference data. That makes the assistant a backend project. We own it end to end: the tool layer over the REST API, the agent runtime on AWS, the approval flow, the operations console and, later, the channel adapters for Instagram, Facebook and WhatsApp, which the roadmap holds as conditional scope.

What we owned

  • Typed tools over the existing API for appointments, availability, clients, payments and payment links, media and stories, summaries, gift cards and rentals
  • Agent runtime on Lambda using the Claude API with tool calling, authenticated by the same Firebase session as the app
  • Tool list derivation from the active space (client, professional, artist, super admin), not from anything said in chat
  • Proposal objects for every write: prepared from live data, shown to the user, approved explicitly, invalidated on any app-side change
  • Operations console: request, checked data, confirmation, recorded result, cost and known failure per operation, with authorised retry or compensation
  • Evaluation set of real role-specific requests, run before each release; cost and rate caps per shop
Architecture

How the system is layered, from the people using it down to the data and the services it depends on.

  1. 01Surfaces
    • Assistant panel in the client, professional and artist spaces
    • Web assistant
    • Instagram, Facebook and WhatsApp (conditional V2)
  2. 02Agent runtime
    • Claude API with tool calling
    • Lambda behind API Gateway
    • Session → active space → tool list
    • Proposal objects with expiry
  3. 03Tools
    • Appointments and availability
    • Clients and messaging
    • Payments, links, Tap to Pay
    • Media consent and stories
    • Daily summaries
    • Gift cards
    • Rentals
  4. 04Guardrails
    • Permissions derived server-side
    • Stale confirmation rejected
    • Approval before every write
    • Limits in tool schemas
    • Cost caps per shop
  5. 05Operations
    • Operations console
    • Per-operation cost and failure record
    • Authorised retry and compensation
    • Evaluation runs
Engineering decisions

The choices that made the difference, and why we made them.

  1. 01

    One assistant, five different tool lists

    A single account can hold a client space, a professional space and an artist space, and the owner switches between them without signing out. The assistant takes its tool list from the active space, so the same person gets booking and payment tools as a shop admin and only agenda, assignment and portfolio tools as an artist. Claiming a role in chat grants nothing; the server already knows who is asking and in which shop.

  2. 02

    Every write is a proposal with an expiry

    Reads are free. Writes go through two tools: a prepare step that reads live availability, price, deposit and policy and returns a proposal, and an execute step that only accepts an approval referencing that proposal. If the app changes the underlying data, or the user switches space, the proposal is invalidated and a late "yes" is rejected. The assistant cannot book last week's slot or charge a price that has since changed.

  3. 03

    The same rules as the app, by construction

    The assistant never gets a second copy of the business rules in a prompt. Confirmation paths, cancellation policies, commission, payout timing and gift-card credit all live in the API and are enforced there. When the assistant sends a deposit link, it calls the same code the app calls, and the appointment confirms itself through the same Stripe webhook.

  4. 04

    An operations console for the people who have to fix things

    Every agent operation is recorded with its request, the data that was checked, the confirmation, the result, its cost and any known failure. The operations team can find an operation, see what actually happened, and prepare a retry or a compensation that is executed only on an authorised decision. Partial failures are explained to the user rather than hidden.

  5. 05

    Where it goes next

    The roadmap extends the assistant into rentals (condition photos compared before and after, mapped to the shop's damage schedule, with a human keeping the financial decision), gift cards and events, and into the shop's own Instagram, Facebook and WhatsApp channels using the same tools and permissions. Those channels are explicitly conditional on platform access and cost, and are described that way to the client.

Outcome
  • The backend's first four milestones give the assistant real tools to call: bookings, deposits, payouts, reminders, calendar and reviews are live in production.
  • The agent behaviour for V2 is specified story by story, with the permission table and approval workflow agreed before any model is wired in.
  • The design decisions are written up in our post on typed tools, so the client's team and the app team can review them without reading code.

Technology

  • Claude
  • Python
  • AWS Lambda
  • API Gateway
  • Firebase Auth
  • MySQL (RDS)
  • Stripe
  • Twilio

Building something similar?

Tell us what you're building. You'll get a straight answer on scope, timeline and cost, usually within one business day.