Cómo construí una plataforma inmobiliaria con agentes de IA


Manejo el lado tech de una corredora de propiedades en Santiago, Chile. Varios usuarios, todo desde arriendos hasta cobros y auditorías. El sistema que maneja toda la operación — CPA25 — cubre el negocio completo.

Esto no es una historia sobre cómo la IA es magia. Es sobre qué funciona de verdad cuando construyes software en producción con herramientas de IA.

Las 5 reescrituras

CPA25 es la quinta versión del mismo sistema. La línea de tiempo:

  1. Google Sheets (~2016) — El clásico. Funcionó hasta que no. Fórmulas que se rompen, sin historial, datos por todos lados
  2. PHP (CodeIgniter) (~2017) — Mi primera versión “real”. Cumplió pero el código se volvió espagueti rápido
  3. PHP v2 (~2018) — Intenté arreglar el desorden. Hice uno diferente
  4. Django (~2020) — Mejor arquitectura, pero el ecosistema se sentía pesado para lo que necesitaba
  5. Next.js + Supabase (2024-presente) — CPA25. La que se quedó

Cada reescritura me enseñó lo que el sistema realmente necesitaba. A la quinta vez, ya no estaba adivinando.

Qué hace CPA25 hoy

No es un side project. Personas reales lo usan todos los días:

  • Gestión de propiedades: arriendos, contratos, cobro mensual
  • Operaciones financieras: liquidaciones, seguimiento de pagos, reportes a propietarios
  • Auditoría: log completo de actividad, tracking de IP, historial de cambios
  • Email marketing: MailEagle — un sistema de email custom construido dentro de CPA25. 1,395 contactos, 21 endpoints de API, 144 tests
  • Sitio público: listado de propiedades, mapas, bilingüe (ES/EN), hecho con un sitio Astro separado que consume la API de CPA25

El stack: Next.js 16 + Supabase + NextAuth, 1,230+ tests en 5 servicios.

El setup de IA que funciona de verdad

Uso Claude Code como herramienta principal de desarrollo. No como autocompletado — como un equipo.

El setup: 6 agentes corriendo en paralelo, cada uno en su propio worktree de git.

AgenteRamaRol
PrincipalmainDesarrollo de features + coordinación
Seguridadaudit/security-reviewAuditorías de seguridad, genera SECURITY_REPORT.md
Testingfeat/testingEscribe tests E2E + unitarios, genera TEST_REPORT.md
Socketfeat/socket-realtimeWebSocket/notificaciones en tiempo real
WhatsAppexp/whatsappBot experimental de WhatsApp con IA
Roadmapfeat/roadmapPlanificación y specs de features

Cada agente tiene su propio CLAUDE.local.md con instrucciones específicas. No tocan los archivos de los otros. El agente principal coordina.

Por qué worktrees?

Los worktrees de git te permiten tener múltiples ramas checkeadas simultáneamente en directorios diferentes. Cada agente trabaja en su propia copia del repo sin conflictos. Cuando el trabajo está listo, mergeo.

Esto significa que el agente de seguridad puede auditar el código mientras el agente de testing escribe tests mientras yo estoy construyendo una feature. En paralelo. Sin cambio de contexto.

Lo que sí funciona

  • Las revisiones de seguridad encuentran bugs reales. El agente encontró problemas de CSP, falta de rate limiting en endpoints financieros, y edge cases de autenticación que se me pasaron
  • La cobertura de tests crece sin que yo escriba tests. Construyo la feature, el agente de testing escribe los tests
  • La separación de responsabilidades se cumple. Cada agente tiene límites claros. Nadie pisa el trabajo del otro

Lo que no funciona

  • La coordinación requiere esfuerzo. Tengo que revisar reportes y mergear manualmente. No hay orquestación automática
  • Los agentes no entienden el contexto de negocio profundamente. Pueden revisar código pero no te dicen si una feature vale la pena
  • Las tareas largas pueden derivar. Si no reviso el trabajo de un agente por unos días, puede ir en una dirección que no quiero
  • No es gratis. Claude Code cuesta $100/mes. Para mí vale la pena, pero es un costo real

Las partes aburridas que importan

El setup de IA es la parte llamativa. Pero la mayoría de lo que hace que CPA25 funcione es aburrido:

  • 5 reescrituras de conocimiento de dominio. Conozco el negocio de administración de propiedades por dentro porque lo he modelado 5 veces
  • Usuarios reales dando feedback real. El equipo usa esto todos los días. No les importa la tecnología — les importa si funciona
  • Mejora incremental. Ya no estoy construyendo desde cero. Agrego features a un sistema que ya funciona

Conclusiones

  1. Reescribir no es fracasar. Cada versión me enseñó algo que la anterior no podía. La quinta funciona porque las primeras cuatro existieron
  2. Los agentes de IA son herramientas, no compañeros de equipo. No tienen opiniones sobre tu producto. Ejecutan bien dentro de límites claros
  3. El lado del negocio importa más que el código. Un sistema importa porque la gente depende de él, no por cuántas líneas tiene
  4. Worktrees + agentes especializados está subestimado. Si usas IA para programar, prueba dar tareas diferentes a agentes diferentes en vez de pedirle a uno que haga todo

Soy Eduardo, dev desde Santiago, Chile. Si quieres hablar sobre desarrollo con IA o construir productos reales, encuéntrame en X.