AI tools, web products, and a few ideas I wanted to follow. Some I built end to end; others as part of a team. The stories and working products are below.
UruguAi Legal01234567890123456789/08
UruguAi Legal, 1 of 8
UruguAi Legal (now The Legal Tool)
Chat-style research assistant for lawyers in Uruguay.
Ask a legal question in plain language and get an answer with citations to the rulings and statutes it's based on. Also transcribes legal documents and calculates procedural deadlines. 1,250+ users since launch; the product has since been rebranded as The Legal Tool.
It answers prospective clients' questions, does a first pass on their case, and books Google Meet calls directly on the lawyers' calendars. Handles 1,400+ leads and schedules 140+ meetings a month, saving the firm 60+ hours of admin work.
Mobile app for documenting incidents of violence and injustice in the US.
Users file a report from their phone, optionally anonymously, and incidents appear on a shared map in real time. Built end to end in React Native with a Node and Socket.io backend. No longer maintained.
A shopper describes what they're looking for and the assistant searches the catalog, answers product questions in any language, and suggests alternatives. Connects to any store via CSV/XML/JSON feeds or API. Started as my final thesis project at ORT, where it won first place.
Women's health app that supports users through menopause, on web and mobile.
Next.js web app and React Native mobile app on a Supabase backend.
Years
2024 – now
Stack
React Native · Next.js · Typescript · Supabase
ShopifyLiquidGraphQLE-commerceAPI Integration
E-commerce Development
Shopify work for a client store: theme customization, a custom order-creation workflow, and third-party integrations, built with Liquid and the Shopify GraphQL API.
Role
Client work
Years
2024
Stack
Shopify · Liquid · GraphQL · E-commerce
Built and run on my own time
Personal projects
Ahorrin
Personal-finance coach for Uruguay.
Upload a bank statement — CSV, Excel, PDF, OFX or QIF — and every transaction is categorised by GPT-4, then charted by month and category, with a chat assistant that answers questions about your own spending. Next.js 15, React 19 and Supabase, with landing pages written for each of the local banks.
An archive of 34 ATP seasons, and a statistic that argues with the sport.
Break points saved is quoted as a measure of nerve, but across 472 careers it tracks ordinary serve quality with an R² of 0.81 — it mostly measures how hard you serve. The Clutch Index strips that out and ranks what is left, finding that reaching the world's top five is worth about two points of clutch on a hundred-point scale. Built from 93,720 matches; 3,950 prerendered pages, no server and no client framework.