Gabriel González
Product Developer · Vibe Coding desde 2025

GabrielGonzález.

Construyo productos reales usando IA como copiloto — desde la idea hasta el deploy en producción. Tres apps en producción y un SaaS propio en desarrollo, con clientes reales en Córdoba, Argentina.

Construyendo ahora
Portfolio personal
Córdoba, Argentina
Construyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · TailwindConstruyendo ahora:Portfolio personal·Next.js · TypeScript · Framer Motion · Tailwind
3
Apps en producción
4
Clientes reales
460h
Documentadas
3
Automatizaciones
Sobre mí

Criterio técnico más velocidad con IA.

Empecé Ingeniería en Informática y, en paralelo, una certificación en Data Analytics (Python, SQL, Power BI). Desde fines de 2025 uso esa base técnica junto con Claude Code como par de trabajo —no como autocompletado— para construir productos completos: frontend, backend, base de datos y deploy.

Entregué tres apps en producción a clientes reales en Córdoba: una landing + panel admin para una fintech, un SaaS de gestión de préstamos y un sistema con bot de WhatsApp para una distribuidora. En paralelo estoy construyendo un dashboard comercial para una empresa de frutos secos y convirtiendo el sistema de la distribuidora en un producto SaaS multi-tenant propio. Todas con código real, decisiones documentadas y errores que aprendí en el camino.

Proyectos entregados

5 proyectos · 2025–2026
01

TECI∞ Préstamos

Producción

Una financiera de Córdoba se lanzaba desde cero y no tenía ningún canal digital: sin landing, sin captura de leads, sin evaluación crediticia y sin forma de gestionar préstamos más allá de un Excel y WhatsApp informal. La alternativa del mercado era alquilar un software de gestión para financieras con licencia mensual y contrato de permanencia — pagando por integraciones con terceros que en realidad se pueden contratar directo.

Problema

Una financiera de Córdoba se lanzaba desde cero y no tenía ningún canal digital:…

Solución

Construir a medida la plataforma completa en vez de alquilarla: originación (LOS…

Resultado

Plataforma en producción en teciprestamos.com.ar. Originación: landing con simul…

Next.jsTypeScriptSupabasePostgreSQLResendVercelTailwindRadix UITanStack TableRecharts
140h
Invertidas
10
Tecnologías
teciprestamos.com.ar
05

Distribuidora ERP

En desarrollo

Celestina resolvía la logística de un solo cliente. Escalar el negocio a una segunda o tercera distribuidora con ese mismo código significaba clonar el proyecto y levantar un deploy y una base de Supabase nuevos por cada una — sin aislamiento real entre clientes y con cada bug o feature multiplicado por N instancias a mantener.

Problema

Celestina resolvía la logística de un solo cliente. Escalar el negocio a una seg…

Solución

Fork de Celestina reescrito como SaaS multi-tenant real: una sola base de datos …

Resultado

Producto funcional con el modelo multi-tenant completo: alta de una distribuidor…

ReactViteSupabasePostgreSQLTailwindOneSignal
70h
Invertidas
6
Tecnologías
02

Capitl

Producción

A diferencia de una financiera que arranca de cero, ésta ya operaba a volumen —pero todo el back-office (clientes, préstamos, cuotas, mora, represtamistas y caja multi-moneda) vivía en un Excel desestructurado. Sin fórmulas consistentes ni historial confiable: los pagos se perdían, la caja no cerraba y la mora se calculaba a mano. No era un problema de captar clientes, sino de operar los que ya tenían.

Problema

A diferencia de una financiera que arranca de cero, ésta ya operaba a volumen —p…

Solución

Reemplazar el Excel por un SaaS interno enfocado en el servicing y la tesorería …

Resultado

Sistema en producción con 7 módulos completos. El cálculo de mora, las comisione…

Next.jsTypeScriptSupabaseShadcn/uiZodTanStack TableTailwind
100h
Invertidas
7
Tecnologías
03

Celestina

Producción

Una distribuidora de agua gestionaba repartos, cuentas de clientes, inventario, caja y comisiones de repartidores en un Excel desestructurado. Sin automatización: los clientes inactivos se perdían silenciosamente y las deudas vencidas se descubrían tarde o nunca.

Problema

Una distribuidora de agua gestionaba repartos, cuentas de clientes, inventario, …

Solución

App web mobile-first con dos módulos diferenciados: panel administrativo complet…

Resultado

App en producción con roles diferenciados. El administrador opera desde el panel…

ReactViteSupabaseNode.jsDockerRender
130h
Invertidas
6
Tecnologías
04

Fesh Nuts

En desarrollo

Una empresa de frutos secos necesitaba visualizar sus ventas, clientes y finanzas en un solo lugar.

Problema

Una empresa de frutos secos necesitaba visualizar sus ventas, clientes y finanza…

Solución

Dashboard interno con módulos de clientes, ventas y finanzas. React SPA liviana,…

Resultado

Deploy en Vercel con 4 módulos en construcción: Clients, Dashboard, Finance, Sal…

ReactViteTailwind
20h
Invertidas
3
Tecnologías
Stack real

Con qué construyo.

Frontend

Next.js · React · TypeScript · Tailwind · Shadcn/ui · Framer Motion

Backend & Datos

Supabase · PostgreSQL · Node.js · Zod · React Hook Form · TanStack Table

Infraestructura

Vercel · Render · Docker · Resend · Vite

Automatización

WhatsApp Web API · Puppeteer · Cron jobs

Analítica

Python · SQL · Power BI

Cómo trabajo

“Claude Code como par de trabajo: planificación, arquitectura y debugging real, no solo autocompletado.”

Conversaciones con IA

Decisiones técnicas reales.

Fragmentos de las conversaciones que llevaron a las arquitecturas elegidas. Sin editar.

claude · TECI∞ Préstamos
GG
Necesito que el panel se actualice en tiempo real sin recargar la página. Tengo Supabase.
AI
Usá Supabase Realtime. El detalle que te va a trabar: con RLS activado, el canal WebSocket necesita autenticación. Hay que llamar supabase.realtime.setAuth(session.access_token) antes de suscribirse, sino los eventos no llegan aunque el insert esté permitido.
GG
Lo hice pero sigue sin llegar nada. ¿Falta algo del lado de las políticas?
AI
Sí. Realtime necesita que el rol autenticado tenga una política SELECT, aunque insertes con el service key. Y la clave es acotarla al admin real, no dejarla abierta a cualquier usuario autenticado: si no, exponés los datos a cualquiera que tenga una sesión.
Números

En cifras.

Apps en producción
0
Módulos entregados
0+
Bots en producción
0
Horas invertidas
0h
Clientes reales
0
Automatizaciones
0
Servicios en producción
0
Trayectoria

Dónde estuve.

2026-08

Celestina se convierte en producto

Proyecto

Bifurqué el código de Celestina en un SaaS multi-tenant propio: una sola base de datos sirve a todas las distribuidoras futuras, aisladas por RLS, con roles firmados en el token de sesión en vez de leídos del cliente.

2026-07

Auditoría de seguridad en TECI∞

Formación

Con la fintech ya manejando dinero y datos reales, hice una auditoría completa: cerré una brecha de autorización entre la app y la base de datos, y sumé 2FA obligatorio, log de auditoría inmutable y un libro de caja append-only.

2026-06

Portfolio como producto

Hito

Empiezo a tratar mi presencia online como un producto, no un CV. Este sitio es el resultado.

2026-05

TECI∞ en producción

Proyecto

Primera fintech entregada. Landing + panel admin completo. Incorporé Supabase Realtime (WebSockets con RLS) y emails transaccionales con Resend.

2026-04

Bot de WhatsApp en Render

Proyecto

Primer deploy dockerizado. whatsapp-web.js + Puppeteer + cron jobs. Aprendí sobre persistencia en containers.

2026-02

Capitl en producción

Proyecto

Primer SaaS interno real. Reemplazó un Excel desestructurado por un sistema multi-módulo con auth por roles, wizard de préstamos y cálculo automático de mora.

2026-01

Adopción de Claude Code

Herramienta

Empiezo a usar Claude Code como par de trabajo, no solo como asistente. Cambio de paradigma total.

2025-12

Vibe coding como método

Hito

Entiendo que el valor no es escribir código, es construir productos. La IA es el multiplicador.

2025-09

Certificación Data Analytics

Formación

Python, SQL, Power BI, bases de datos relacionales. La analítica de datos potencia las decisiones de producto.

2022

Full Stack Developer — Coderhouse

Formación

Carrera de desarrollo web full stack: HTML/CSS, JavaScript, React y Node.js. Primer acercamiento serio al desarrollo web completo.

2020

Ingeniería en Informática

Formación

2 años de fundamentos: algoritmos, arquitecturas, bases de datos. La base técnica que hace que todo lo demás tenga sentido.

Aprendizajes

Lo que aprendí.

mindset

2026-06

La IA no reemplaza el criterio — lo amplifica

Cuanto mejor entiendo el problema, mejores son las soluciones que obtengo con IA. Un prompt vago da una solución vaga. El criterio técnico sigue siendo el diferencial.

técnico

2026-05

El código serverless tiene estado cero entre requests

Aprendido con el rate limiting de TECI. Un Map en memoria no persiste entre instancias de Vercel. Todo estado compartido va a la base de datos.

proceso

2026-04

Entregar rápido no es lo mismo que entregar mal

Vibe coding no significa sin arquitectura. Significa arquitectura que puedo implementar solo, rápido, con criterio. El código que no puedo mantener no sirve.

producto

2026-03

El producto importa más que la tecnología

Nadie le importa si usé Server Components o no. Le importa si el panel admin le ahorra 2 horas por día. Empiezo siempre por el problema, nunca por el stack.

técnico

2026-04

Docker es inevitable cuando deployás un proceso con estado

El bot de WhatsApp necesitaba persistir la sesión entre reinicios. Sin volumen Docker, cada deploy pedía re-escanear el QR. Aprendí a pensar en contenedores como unidades de estado.

técnico

2026-07

La autorización tiene que estar garantizada en cada capa, no en una sola

En la auditoría de seguridad de TECI encontré un flujo que la aplicación protegía bien, pero que la base de datos por debajo dejaba pasar igual. Validar en el frontend o en la API no alcanza si la capa de datos no exige lo mismo — la última línea de defensa siempre tiene que estar en la base.

Contacto

Trabajemos
juntos.

Contame sobre tu proyecto o idea y lo convertimos en un producto real.