Projects
What I have built
Four projects, each with its real status: in production, delivered, open demo or internal use.
In productionTypeScript
LIA
Voice, WhatsApp and web chat receptionist for clinics, hotels, beauty centres, consultancies, workshops and online shops. It collects appointment requests, notifies the team with the reason for the call and summarises every conversation.
- The model interprets; tested code applies the rules.
- If an AI provider fails, the call keeps going.
- It says it is an AI in the greeting (AI Act, art. 50).
- Lesson: in voice, first-audio latency matters more than model reasoning.
Call LIArespondeya.es ↗
TypeScriptNode.jsTwilioClaude APISupabaseStripeVercel
Open demoPython
Guardrailed Agent
Open-source booking agent where the LLM only extracts intent and the code decides. Written in Python to show the same discipline outside my usual TypeScript stack.
- 23 attack tests on every push.
- A trace for every turn, to explain each decision afterwards.
Try the demo (first load can take about 30 s) ↗Code on GitHub ↗
PythonFastAPIPydanticpytestGitHub ActionsRender
Delivered · paused by the clientReact
Advertising cockpit for a real estate agency
Real client project. One dashboard that crosses ad performance on Idealista, Fotocasa, Habitaclia and the agency website, with role-based access for each person on the team.
ReactSupabaseVercel
Internal useNode.js
SuperXavi
My own multi-agent system for development, support and marketing, coordinated by an orchestrator and always under human supervision.
- Mobile approval panel for anything irreversible.
- Global emergency stop and full audit trail.
Node.jsSupabaseGitHub ActionsClaude CodeClaude API