Point
Mercado LibreEl checkout del lector de Mercado Pago, desde elegir el dispositivo hasta el pago, en cinco países.
Software engineer especializado en frontend. Llevo productos de la idea a producción en rubros muy distintos, como banca, pagos, real estate y deporte, con tecnologías modernas potenciadas por IA.
Problemas complejos, interfaces claras.
Banca, pronósticos deportivos, inversión inmobiliaria, innovación, fondos europeos y pagos. Seis productos reales: abrí cualquier carta para leer el caso.
Me importan los detalles que se sienten y casi nadie nombra:
El checkout del lector de Mercado Pago, desde elegir el dispositivo hasta el pago, en cinco países.
Usa IA para encontrar, entre miles de convocatorias de la UE, las que una empresa europea puede ganar, y explica por qué encaja cada una.
Una autoevaluación que le muestra a innovadores de cualquier sector qué tan lista está su solución para el mercado, con un reporte descargable.
Plataforma de inversión inmobiliaria embebida en Salesforce: cargás una propiedad y ves si conviene fix and flip o rental.
Juegos de pronósticos y trivia deportiva white label para operadores de apuestas: más de 10 apps sobre una misma base, en 8 idiomas.
MásBanCo, la app de un banco provincial con onboarding biométrico y pagos, construida en React Native codo a codo con diseño. Más de 500.000 descargas.
Las que uso todos los días. Y si tu proyecto pide otra, la aprendo.
Cada herramienta cae con el agente que la usa. Yo defino la tarea, ellos construyen, yo reviso.
Un agente de IA funciona como orquestador y reparte el trabajo entre agentes especializados en UX, desarrollo y QA. Sirve cualquier proveedor: Claude, GPT, Gemini, el que mejor encaje con el proyecto. Comparten archivos de memoria, así el contexto sobrevive entre sesiones. Yo marco la dirección, reviso cada diff y respondo por lo que sale.
Funciona con cualquier modelo: Claude, GPT, Gemini. El proceso es el mismo.
Lo que ve quien usa FindFund.
Lo que lo hace funcionar: datos, sesión, estado en la URL y el agente de IA que puntúa cada convocatoria.
↔ Scrolleá o arrastrá la cortina// Sidebar.tsx const t = useTranslations('nav'); return NAV_ITEMS.map((item) => ( <NavLink {...item} key={item.href} label={t(item.key)} /> ));
// middleware.ts · Clerk export default authMiddleware({ publicRoutes: PUBLIC_ROUTES, });
// hooks/useCredits.ts export const useCredits = (orgId: string) => useQuery({ queryKey: creditKeys.byOrg(orgId), queryFn: () => creditsApi.get(orgId), });
// optimistic: the UI updates before the server confirms onMutate: () => credits.increment(1), onError: (_err, _vars, snapshot) => credits.restore(snapshot),
// types/organisation.ts export interface Organisation { id: string; name: string; size: 'STARTUP' | 'SME' | 'LARGE'; plan: Plan; }
// tabs live in the URL: shareable, back-button safe const [tab, setTab] = useSearchParam('programme');
// services/matching.ts const candidates = prefilter(calls, profile); const ranked = await agent.rank(profile, candidates); return ranked.filter((m) => m.score >= MIN_SCORE);
// domain/call.ts · derived, never stored export const isClosed = (call: Call, now = Date.now()) => call.deadline.getTime() < now;
// poll while the analysis runs, stop when it's done useQuery({ ...analysisQuery(id), refetchInterval: (q) => isRunning(q.state.data) && 4_000, });
Un banco, un estudio de producto, la consultora que cofundé y hoy Mercado Libre. Cada lugar me dejó una forma de construir.
Estoy en el equipo de checkout de Point: el flujo renderizado en el servidor donde los comercios compran el lector de tarjetas de Mercado Pago, desde elegir el dispositivo hasta confirmar el pago, en cinco países de Latinoamérica y en estrecha colaboración con el equipo de backend.
Consultora tecnológica para clientes europeos, con productos propios. Lidero arquitectura, estimaciones y entregas: FindFund, nuestro buscador de fondos europeos con IA, y Maturoscope, cuyo despliegue GitOps a Kubernetes armé yo.
Estudio de producto con clientes internacionales. Primero Splash, una plataforma white label de pronósticos y trivia deportiva para operadores de apuestas, en React y React Native. Después Yield305, una plataforma de inversión inmobiliaria embebida en Salesforce, en Next.js 14 y NestJS, que convierte los datos de una propiedad en su ROI proyectado, para fix and flip o rental.
MásBanCo, la app móvil del banco, en React Native y codo a codo con diseño en Adobe XD. Integré onboarding biométrico, validación de identidad y pagos con el core bancario. Más de 500.000 descargas.
↘ agarrá uno y tiralo.
El checkout donde los comercios compran su lector Point, desde elegir el dispositivo hasta confirmar el pago, en cinco países de Latinoamérica.
Para muchos vendedores, comprar un Point es el primer paso para operar su negocio con Mercado Pago. El checkout tiene que llevarlos de elegir un dispositivo, un kit o accesorios hasta el pago confirmado sin dudar, en cualquier celular y con cualquier conexión.
Detrás de pocas pantallas simples pasa mucho: carrito y venta cruzada, envío a domicilio o retiro, la dirección, el chip de datos, medios de pago y cuotas, la facturación y el pago. Y en cada uno de los cinco países, esos pasos siguen reglas propias.
Soy software engineer en el equipo de checkout de Point. Construyo y mantengo las pantallas del flujo de compra, renderizadas en el servidor: carrito y venta cruzada, envío y retiro, la búsqueda de direcciones con Google Maps, el chip de datos, medios de pago y cuotas, la facturación y el pago con tarjeta mediante Checkout Bricks. Trabajo en estrecha colaboración con el equipo de backend que desarrolla las APIs detrás de cada paso.
Sigo el uso real con Datadog RUM: por qué pantallas pasan los usuarios, en qué paso se detienen y cómo se comporta cada cambio en producción.
Cada paso llega armado desde el servidor, así el flujo carga rápido incluso en celulares modestos y con conexiones lentas, algo frecuente entre quienes compran un Point.
Contra: cada visita le suma trabajo al servidor; para no repetirlo, los datos que cambian poco, como la configuración y el catálogo, se guardan en caché con Redis.Los mismos pasos se adaptan a cada sitio: opciones de envío, documentos, cuotas y facturación cambian de país a país, sin cinco checkouts distintos.
Contra: una matriz de países y opciones contra la que hay que probar cada cambio.Producto, descuento, envío y total acompañan cada paso, así nadie llega al pago con una sorpresa.
Contra: el resumen se recalcula con cada cambio del pedido.El checkout es la puerta de entrada de cada vendedor que compra un Point en Argentina, Brasil, México, Chile y Uruguay. Mi trabajo es que ese camino sea rápido, claro y confiable, y que cada mejora llegue a los cinco países a la vez.
Usa IA para encontrar, entre miles de convocatorias de financiación de la UE, las que una empresa europea realmente puede ganar, con un puntaje de 0 a 100 y las razones de cada match.
La UE publica miles de convocatorias de financiación en programas como Horizon Europe, Erasmus+ o Interreg, escritas en un lenguaje denso. Las empresas se pierden las que les sirven o pasan semanas leyendo las equivocadas.
Con FindFund una empresa se describe una vez (un PDF, un pitch deck o su web) y recibe las convocatorias abiertas que encajan, ordenadas, cada una con su elegibilidad, su fecha límite y una explicación en lenguaje claro. Desde un match puede generar el borrador de su expresión de interés.
Es un producto propio de Synopp, así que hago todo: la arquitectura, el pipeline de matching con IA, el dashboard, los cobros y la infraestructura. El pipeline lee el perfil de la organización, recorre las convocatorias abiertas, cruza sectores y tecnologías, puntúa cada candidata y ordena las mejores, explicando cada puntaje.

Aprendí tanto de IA como de Europa: cómo funcionan las convocatorias de Horizon Europe e Interreg, qué es un TRL, qué es una expresión de interés y qué mira un evaluador. Sin eso, las respuestas del modelo no se pueden juzgar.
Una pasada rápida por reglas reduce miles de convocatorias a una lista corta, y un modelo de lenguaje puntúa solo esa lista. Costo y espera predecibles.
Contra: el prefiltro puede descartar un caso borde, por eso sus reglas se ajustan con perfiles reales.Un análisis completo lleva minutos, así que va a una cola y la interfaz sigue su estado. Podés irte y volver.
Contra: más piezas móviles, con estados, reintentos y notificaciones.Cada match explica por qué encaja, qué brechas cerrar y qué tan confiable es el puntaje cuando el perfil está incompleto. Un número solo no ayuda a nadie a postularse.
Contra: respuestas más largas, por eso se paginan y cachean.Lo que antes eran semanas de lectura ahora lleva de 5 a 10 minutos: una empresa recibe las convocatorias abiertas que encajan con ella, ordenadas y explicadas, y puede pasar directo a armar su expresión de interés. El producto está en desarrollo activo, y cada análisis nos enseña algo sobre cómo puntuar mejor.
Una autoevaluación gratuita que le muestra a innovadores de cualquier sector qué tan lista está su solución para el mercado, qué la está frenando y qué pasos seguir para llegar con éxito.
Llevar una innovación de la idea al mercado exige madurez en tres frentes: tecnología (TRL), mercado (MkRL) y fabricación (MfRL). Evaluarlos suele ser lento, caro y subjetivo, y quien innova no siempre sabe por dónde empezar.
Un centro de investigación europeo necesitaba una evaluación guiada y gratuita: sin registro, sin guardar datos, con un reporte descargable en pocos minutos y un camino directo a los proveedores de servicios que pueden ayudar a cerrar cada brecha.
El producto tiene tres partes: una landing que hospeda las plataformas, un dashboard donde los administradores gestionan cada plataforma de evaluación, y la app responsive donde se responde.

Fui desarrollador full stack, tech lead y DevOps: la arquitectura del monorepo, la app de evaluación, el dashboard de administración y el pipeline de entrega. Cada merge se construye, se escanea y se despliega en Kubernetes sin que nadie toque un servidor.

Trabajé con un diseñador, un PM y una persona de negocio, entre Buenos Aires y Europa: llevando el diseño a componentes, estimando cada etapa y manteniendo releases chicos y frecuentes.
Pasos progresivos, progreso visible y respuestas guardadas en el navegador sobre la marcha, así nada personal sale de ahí.
Contra: más estado para manejar entre pasos.Paleta sobria y etiquetas en lenguaje claro en lugar de puntajes crudos.
Contra: menos tipos de gráfico, elegidos a propósito.La landing, el dashboard de administración y la evaluación comparten componentes en un monorepo con Turborepo.
Contra: los componentes compartidos piden disciplina de versionado.La CI construye y escanea las imágenes, Git guarda el estado deseado y un controlador GitOps lo aplica al cluster con health checks. Volver atrás es revertir un commit.
Contra: un repo de infra y un cluster que mantener, vale la pena desde el segundo entorno.Innovadores de cualquier sector pueden completar la evaluación en menos de 12 minutos, descargar un reporte con sus tres niveles de madurez y las acciones para mejorarlos, y llegar a los proveedores de servicios recomendados. Los administradores gestionan sus plataformas solos desde el dashboard, y cada release sale con un merge.
Gestionaría mejor la diferencia horaria con Europa desde el principio: decisiones por escrito, una ventana fija de solapamiento para lo que necesita conversación y demos grabadas, para que nadie tenga que esperar al otro lado para avanzar.
La plataforma con la que una firma inmobiliaria de Miami presupuesta cada propiedad y decide si le conviene comprarla, para fix and flip o para rental. Vive dentro de Salesforce.
Yield305 compra propiedades en Florida y otros estados de EE. UU. para renovarlas y revenderlas (fix and flip) o para alquilarlas (rental). Antes de ofertar, cada casa pasaba por una planilla de Excel enorme: los datos duros de la propiedad, una calculadora de refacción con decenas de partidas, los costos de compra, de tenencia y de venta, y al final el ROI y la ganancia neta.
Funcionaba, pero era muy difícil de manejar: un montón de fórmulas encadenadas, una planilla por propiedad y un proceso lento justo cuando hay que decidir rápido.
Éramos cuatro: un diseñador, un PM y dos desarrolladores. Yo fui tech lead y desarrollador full stack del proyecto; el otro desarrollador se ocupó del frontend. Diseño convirtió la planilla en producto y yo lo implementé de punta a punta: la interfaz en Next.js, las APIs en NestJS, los datos en PostgreSQL y los cálculos que antes vivían en las celdas.
La parte más delicada: la app tenía que vivir embebida dentro de Salesforce, donde el equipo ya trabajaba. Para que nadie tuviera que iniciar sesión dos veces, armé toda la comunicación entre Salesforce y el iframe en el que corría nuestra app: Salesforce le dice a la app quién es el usuario y la app arranca con su sesión.
La app corre en un iframe dentro de Salesforce y recibe la identidad del usuario con mensajes entre las dos ventanas. Nadie inicia sesión dos veces.
Contra: cada mensaje entre ventanas se valida (de dónde viene y qué trae), y el iframe trae sus propias restricciones de cookies y navegación.Cada bloque del Excel pasó a ser una pantalla y cada fórmula, un cálculo del sistema: datos duros, refacción, compra, tenencia y venta, hasta llegar al ROI.
Contra: cambiar una regla del negocio ya no es editar una celda; pasa por código.Con los mismos datos de la propiedad se ve si conviene como fix and flip o como rental.
Contra: dos modelos de cálculo que hay que mantener alineados.Presupuestar una propiedad pasó de pelear con una planilla a completar un flujo guiado dentro de la herramienta que el equipo ya usaba. Eso aceleró el análisis de cada propiedad y la decisión de invertir o no, y con qué estrategia. Compra, tenencia, refacción y venta quedaron en un solo lugar, con un resumen que se actualiza mientras cargás.
Desde el primer día escribiría tests que comparen cada cálculo contra la planilla original con propiedades reales: es la forma más rápida de que el negocio confíe en los números nuevos. Y dejaría por escrito el contrato de mensajes entre Salesforce y el iframe antes de construirlo.
Juegos de pronósticos y trivia deportiva white label para operadores de apuestas: más de 10 apps, 8 idiomas y una sola base de código.
Splash es una plataforma white label: los mismos juegos corren en más de 10 aplicaciones, cada una con la marca, el idioma y la moneda de su operador. Durante mi etapa en el proyecto, el foco estaba en los juegos de pronósticos y trivia deportiva, con premios y jackpots.
El desafío era técnico y legal a la vez. Cada país donde opera, la mayoría en Europa, regula el juego a su manera: qué premios se pueden ofrecer, en qué moneda, a quién y qué hay que mostrar en pantalla. Un mismo código tenía que cumplir todas esas reglas sin convertirse en diez productos distintos.
Participé en todas las etapas del producto. Primero en la app nativa en React Native, después en la migración a web y por último en los lobbies de juegos y el dashboard de gestión de premios, donde se configuran concursos, tablas de premios y regiones.

En el camino construí APIs REST y modelos en MongoDB, la carga de imágenes a S3 y los despliegues en Amplify, y sostuve la calidad con Jest y React Testing Library. Con el PM, convertía cada requerimiento nuevo, muchas veces una regla de un país, en historias claras para el equipo.
La marca, el idioma, la moneda y los premios permitidos salían de la configuración de cada operador, así una app nueva era una configuración y no un fork.
Contra: cada cambio había que probarlo contra muchas configuraciones.En la web, los operadores integran los juegos en su propio sitio y su app, y un arreglo llega a todas las marcas el mismo día, sin revisión de las tiendas.
Contra: rehacer pantallas y resignar algunas funciones nativas.Concursos, tablas de premios y regiones se configuran desde el dashboard, así el equipo de operaciones adaptaba cada concurso a las reglas locales sin un deploy.
Contra: un dashboard más complejo, con validaciones para que una combinación inválida no salga publicada.La plataforma llegó a más de 10 apps white label sobre una sola base de código. Sumar un operador pasó a ser configuración (marca, idioma, moneda y regiones) en vez de un proyecto, y la migración a web sacó los releases de las tiendas: un cambio llegaba a todos los operadores el mismo día.
Separaría antes las reglas de cada país del código de los juegos, en un módulo con sus propios tests, y automatizaría la revisión de traducciones: con 8 idiomas, un texto faltante muchas veces aparecía recién en producción.
MásBanCo, la app del banco provincial de Corrientes: abrir una cuenta, validar tu identidad y pagar desde el celular, de forma simple y segura.
El Banco de Corrientes es el banco de la provincia: casi toda la gente bancarizada de Corrientes tiene una cuenta ahí. Pero muchos desconfían del sistema financiero local y prefieren hacer la fila en la sucursal o manejarse en efectivo.
La app tenía que lograr lo contrario: que abrir una cuenta, validar tu identidad y pagar desde el celular se sintiera simple y, sobre todo, seguro. Para gente que nunca había usado el banco desde el teléfono, y para algunos que no querían.
Éramos cinco: un tech lead, tres desarrolladores (yo uno de ellos) y un diseñador. Trabajé muy de la mano con diseño, iterando las pantallas en Adobe XD antes de escribir código, y las construí en React Native.
Integré el onboarding biométrico con Facephi, la validación de identidad con VU Security y los pagos con Prisma, conectados al core del banco con Genexus. Fue la primera app que llevé a producción, y donde aprendí cuánto de un producto pasa fuera del código.
Revisar cada pantalla con el diseñador en Adobe XD antes de construirla, para resolver temprano los detalles, los estados y los errores.
Contra: más idas y vueltas al principio, mucho menos retrabajo después.Ingreso con Face ID y saldos que se mantienen ocultos hasta que el usuario decide mostrarlos. Así, abrir la app en el colectivo o en una fila se siente seguro.
Contra: ver el saldo requiere un paso adicional.Identidad, biometría y pagos viven cada uno en su propio módulo, así un proveedor puede cambiar sin tocar las pantallas.
Contra: más código propio para integrar a cada proveedor.La app superó las 500.000 descargas en Android y iOS, y las altas desde la app crecieron cerca de un 35% en el año siguiente al lanzamiento del onboarding digital: gente que antes necesitaba ir a una sucursal pudo hacerse cliente desde su casa.
Fue la primera app que llevé a producción, y donde aprendí que en un banco la confianza se diseña pantalla por pantalla.
Mediría desde el primer día en qué paso del onboarding abandonan los usuarios, y explicaría en pantalla por qué pedimos cada dato. En un banco, la transparencia también es UX.