I put AI agents into real products and ship the full stack around them.
Senior full-stack engineer (React, Next.js, Node.js) with 12 years building software for companies in the US, Sweden and Argentina. Most recently Tech Lead at KitchenSync, where our accounting platform for restaurants integrated QuickBooks, Slack and LLMs from OpenAI, Anthropic and Gemini.
Here I write about what actually works when LLMs meet production: structured outputs, validation, cost, evals and agents. More about me.
Writing
LLMs in production: the hard part is the contract around the model
What I learned putting OpenAI, Anthropic and Gemini behind an accounting product: schemas, deterministic checks, confidence thresholds and a human review queue.
Designing an MCP server an LLM can use safely
Lessons from exposing market data, account data and a trade journal to Claude through MCP: grouping tools, failing clearly, and never letting the model place an order.
Reading bank notification emails to track spending in Colombia
Colombian banks don't offer open APIs to regular developers, so Nora reads the transaction alerts they already send by email. Here's how the pipeline works.
Rules first, LLM second: categorizing Colombian bank transactions
In Nora, my personal-finance app, the LLM is the last resort, not the first step. Here's the pipeline and why every AI answer becomes a rule.
Dashboards from JSON schemas: replacing spreadsheet reports
At LeoVegas I built a Node.js service and a schema-driven dashboard framework with pluggable database connectors, so product managers could stop building reports by hand.