Founder & CEO — AgentGuard
Cost-control and safety infrastructure for AI agents
I founded AgentGuard to solve a problem every company running AI agents eventually hits: the bill arrives after the damage is done.
I build and lead my products end to end — the architecture, the code, and the decisions about what ships.
AgentGuard — Founder & CEO
A budget-control proxy for AI agents. Set a monthly cap per agent; once it is reached, calls return 429 budget_exceeded before they reach the model provider — so there are no partial bills and no overages to dispute.
- One-line integration — change
base_url, add two headers, keep everything else - Multi-provider: Anthropic · OpenAI · Groq · Perplexity · xAI
- Smart Router — pass
"model": "auto"and the task shape selects the model
TypeScript Bun SQLite Streaming proxy
Lexai — Founder
Arabic-first legal operations platform for corporate teams reviewing bilingual B2B commercial contracts. A real workflow — Client → Case → Document → AI review → human approval → controlled export — not a legal chatbot.
The data layer and the AI layer both resolve to mock or live from credential presence, so one set of code paths serves the zero-config demo and production alike. Retrieval filters on temporal validity and supersession; on a miss the model abstains rather than answering from unrelated corpus.
Next.js 16 React 19 TypeScript Anthropic Supabase Tailwind v4
Agent Workspace — Founder
The reference implementation of the AgentGuard stance: the live backend has no direct-provider fallback. Every request carries budget credentials or it does not go out.
A provider that is not wired rejects explicitly rather than silently routing to another vendor. GET /api/health returns 200 only when every credential is present — and never echoes a secret.
Next.js TypeScript Docker SSE
The demo path must always work. Clone, one command, and the whole product is in front of you — seeded data, deterministic responses, every screen reachable. No credentials, no setup call.
That constraint is not a convenience. It forces every external dependency behind an interface, which is precisely what makes the live path safe to change.
Failure has to be explicit. A missing credential returns 503, not a degraded answer. A provider that is not wired rejects, rather than quietly routing somewhere else. A retrieval miss abstains, rather than answering from whatever was closest.
Silent fallbacks are how systems lie to you in production — and by the time you notice, the invoice has already been generated.
Italy · working in English and Italian · cellaemanuele05@gmail.com