Why one agent per country beats a single global agent.
What I learned scaling the Rappi assistant from 1 to 7 countries without cross-policy contamination.
I'm Carlos. I architect and ship AI systems your team actually uses — like the multi-country Slack assistant serving Rappi's employees every day.
Rappi employees ask in Slack about their vacations, holidays, employer info or internal policies. I built the microservice that orchestrates everything: identifies the user, queries Snowflake in real time, injects context into the right country agent, calls OpenAI's Responses API and persists every turn in Postgres for full auditability.
The key call was running a separate agent per country instead of one global agent — it killed cross-policy hallucinations and simplified evaluation.
Ingestion pipeline with semantic chunking, OpenAI embeddings, hybrid search (vector + BM25), reranking. Serving ops teams to cut internal support tickets.
Workflows that pick up tickets, generate diffs with Codex and open PRs for human review.
Booking + PayPal on Laravel. Still running.
Tour platform with Laravel + jQuery + Bootstrap.
End-to-end HR system in PHP/Zend that keeps evolving.
What I learned scaling the Rappi assistant from 1 to 7 countries without cross-policy contamination.
The 4 things that change when you migrate a stateful agent.
Audits, evals, and debugging that pay off every week.
I started writing PHP for small businesses. Today I design AI systems that talk with employees of one of the largest tech companies in the region.
My path was not linear: a decade building ERPs and web platforms gave me something many people entering AI today lack — an instinct for systems that have to work at 9am on a Monday, not just demos for Twitter.
When LLMs landed I got obsessed with the right question: not 'what can a model do?' but 'what architecture makes a model reliable in production?'. That question brought me to Rappi and I'm still answering it.
If your team is moving from AI prototypes to systems people depend on — let's talk.
I reply to emails within 24h. Available for full-time or contract roles from Q4 2026.