Back to portfolio

Live demo · an agent that writes into a system

Clínica Aurora · Agent that writes to a real schedule

An agent that books, reschedules and cancels in a real system, and refuses when the business rule says no. The ERP it writes into is published next to it, so you can check the other side yourself.

Demo limits

  • ·Anonymous session with its own isolated schedule. Nobody sees or edits anyone else’s.
  • ·Maximum 3 writes per conversation, enforced by the policy engine.
  • ·Daily turn cap and a kill switch, because the demo runs on a paid API key.
  • ·Nothing persists after the session expires.

A public AI demo is a spending endpoint. Cost control is part of what I ship.

Clínica Aurora · Agent that writes to a real schedule

Problem

Since Meta began billing its own Business Agent per token in August 2026, an AI that only answers questions stopped being something a business will pay for. What survives is the agent that writes into the system the business actually runs on, and that is precisely the part nobody demonstrates, because it is the part that can go wrong. A demo that only ever walks the happy path proves nothing. The interesting questions are what the agent does when a rule forbids the change, and what it says when the write fails. This one answers both in front of you.

Approach

  • Two separate processes, on purpose. The agent talks to the clinic ERP over HTTP, exactly as it would talk to a real client system. That is what makes the "break the system" button mean something, and it is why the ERP could be published with its own OpenAPI for anyone to inspect.
  • Five business rules live in a deterministic policy engine, not in the prompt: a cancellation inside 24 hours requires a recorded reason, nothing moves into the past, nothing moves onto a taken slot, nothing is scheduled outside opening hours, and there is a hard ceiling on writes per conversation. The rules are a versioned YAML file, and that version travels in every audit line, so months later you can prove which rule decided what.
  • Confirmation before a write is a runtime interceptor, not an instruction. A write executes only when the same operation was proposed in an earlier turn and the person answered after it. A model that gets talked into skipping the step still cannot skip it.
  • No tool invents a result. If the ERP did not record the change, the tool returns a typed error and the agent escalates, instead of returning a confirmation for something that never happened. Switch the ERP off with the button and watch it happen.
  • The conversation is an explicit state machine with five declared escalation triggers. An undeclared transition raises an error rather than passing as creativity.
  • The interface is in English and the agent answers in whatever language you write in, switching mid-conversation if you do.

Stack

Python 3.12 / FastAPIClaude Sonnet 5Deterministic policy engine (YAML)Server-sent eventsDockerTraefikGitHub Actions + GHCR

By the numbers

153 tests

Test suite

100%, gated in CI

Policy engine coverage

5

Rules decided outside the model