Andrés Ladino

Andrés
Ladino

¡Correo copiado!
Inicio//
App web para administrar propiedad horizontal

App web para administrar propiedad horizontal

Una plataforma para digitalizar la administración de conjuntos residenciales en Colombia. Construido como Design Engineering articulando diferente disciplinas y priorizando un proceso estratégico antes de hacer cualquier codigo.

Lectura6 min
Año2026
App web para administrar propiedad horizontal

Pasar de teorizar producto a hacer producto permite entender de forma más tangible cuál es el objetivo a largo plazo y, a partir de eso, construir objetivos a corto plazo para lograrlo.

La administración de conjuntos residenciales en Colombia es un ecosistema de procesos manuales. Formatos de Excel dispersos, comunicación fragmentada, documentación legal que toma horas. Los administradores enfrentan tareas de alta carga cognitiva todos los días: seguimiento de mora de cientos de unidades, redacción de cartas de cobro prejudicial, certificados de deuda bajo el Artículo 48 de la Ley 675 — requisito indispensable para iniciar cobros ejecutivos en juzgados.

Desbloquear la estrategía

Antes de abrir Figma o escribir una línea de código, el producto vivió durante semanas en un vault de Obsidian. Un grafo de notas interconectadas: PRDs, user journeys, análisis legal de la Ley 675, scripts de entrevistas, modelos financieros, benchmarks competitivos.

Ese grafo no es decoración. Es el mapa mental de un problema complejo: la administración de conjuntos residenciales en Colombia es un ecosistema de procesos manuales, formatos de Excel dispersos y comunicación fragmentada. Los administradores enfrentan tareas de alta carga cognitiva y legal todos los días — y casi ninguna herramienta del mercado lo resuelve bien.

Acelerar el benchmark competitivo

El benchmark fue construido funcionalidad por funcionalidad. Con Gemini research se logra conseguir información de diferentes fuentes, y sobre todo articularlas sobre los mismos conceptos que ya venía descubriendo con personas usuarias.

En lugar de buscar respuestas que validara mi hipótesis, buscaba información para construirla, saber si alguna plataforma ya estaba trabajando en ello para hacer una investigación más detallada

Darle velocidad a las validaciones tempranas

NotebookLM puede usar un contexto específico para responder preguntas sobre el contenido, pero lo que más valor me trajo fue construir

Analicé 13 competidores con NotebookLM — alimenté el cuaderno con documentación técnica, propuestas de valor y capturas de producto de cada uno. Luego lo interrogué sobre el mercado colombiano de SaaS para propiedad horizontal.

El sistema de diseño antes del producto

Antes de diseñar pantallas, construí el sistema. Tokens de color sincronizados directamente en Tailwind CSS v4, tipografía y componentes en shadcn/ui. El resultado: una interfaz B2B que no genera fatiga visual — colores tierra suaves, jerarquía clara, micro-interacciones que no distraen.

La landing page responde directamente al problema: "Deja de administrar con Excel y WhatsApp." No es una propuesta de valor inventada — es lo que dijeron los administradores en las entrevistas.

El momento "aha!" de ConjuntoApp ocurre cuando el administrador configura su conjunto por primera vez. Diseñé un flujo de 4 pasos que va de cero a operativo: datos del conjunto, importación de unidades vía Excel, configuración de presupuesto mensual y confirmación con métricas inmediatas.

El dashboard: inteligencia del negocio en tiempo real

El panel principal consolida lo que antes vivía en hojas de cálculo dispersas: recaudo, cartera en mora, tasa de recaudo, unidades en mora, ocupación por torre.

Dos gráficas de Recharts cuentan la historia financiera del conjunto: el flujo de caja de los últimos 6 meses y la tendencia de cuotas pagadas vs. no pagadas. Un vistazo revela si el conjunto está en problemas antes de que el administrador revise cada unidad individualmente.

Las calculadoras: la Ley 675 en código

El sistema valida automáticamente que los coeficientes sumen 100% y que la distribución sea legalmente válida antes de permitir guardar. El administrador ingresa el monto total a recaudar y obtiene el valor exacto por unidad — con el respaldo legal visible en pantalla

Uno de los módulos más técnicos. La distribución de cuotas por coeficiente de copropiedad no es una preferencia — es un requisito legal del Artículo 25-26 de la Ley 675. Cualquier error expone al administrador a impugnaciones en asamblea.

Este fue el momento de mayor validación con usuarios. Cuando un residente lleva 255 días en mora por $1.534.000, el administrador necesita generar una carta prejudicial que cumpla con los requisitos del Artículo 48 — o no puede iniciar el proceso de cobro judicial.

Antes: abrir Word, buscar la plantilla, llenar datos manualmente, calcular intereses, formatear, imprimir. 20 minutos por residente. Ahora: un clic.

El PDF sale formateado con todos los datos de la unidad, el desglose de capital e intereses mora (IBR x 1.5), el plazo otorgado y la firma del administrador. Generado con pdf-lib en el servidor, almacenado en Supabase Buckets.

El asistente agéntico: lenguaje natural sobre la base de datos

El asistente no responde preguntas frecuentes. Opera la base de datos en tiempo real. Definí 11 herramientas que Claude puede invocar directamente sobre Supabase:

typescript
import Anthropic from "@anthropic-ai/sdk";
import { supabaseService as supabase } from "@/lib/supabase-service";

const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY! });

/* ═══════════════════════════════════════════════════════════════════════════ */
/*  System Prompt                                                             */
/* ═══════════════════════════════════════════════════════════════════════════ */

const SYSTEM_PROMPT = `Eres el asistente de administración de ConjuntoApp, una plataforma para la gestión de conjuntos residenciales en Colombia (propiedad horizontal, Ley 675).

const tools: Anthropic.Tool[] = [
  {
    name: "consultar_unidades",
    description: "Consulta unidades del conjunto. Puede filtrar por torre, numero o buscar todas. Retorna id, numero, torre, coeficiente, propietario.",
    input_schema: {
      type: "object" as const,
      properties: {
        torre: { type: "string", description: "Filtrar por torre (A, B, C, D)" },
        numero: { type: "string", description: "Filtrar por numero de unidad" },
        limit: { type: "number", description: "Limite de resultados (default 20)" },
      },
      required: [],
    },
  },

El administrador puede escribir: "¿Cuántas unidades están en mora?" o "Resérvame el salón social para el apto 302 torre A este sábado de 2 a 6 pm" — y el sistema ejecuta, no solo responde.

La arquitectura

La estructura del proyecto refleja las decisiones de diseño: cada módulo de negocio tiene su carpeta en /app/api/ — reservas, correspondencia, documentos legales, mascotas, parqueaderos, PQR, residentes. Supabase maneja la base de datos relacional con Row Level Security para proteger la privacidad de cada conjunto. Next.js App Router para el frontend. Mixpanel integrado desde el primer commit para medir activación real.

Lo que aprendí

Este proyecto me demostró algo que intuía pero no había probado: el código es el mejor material de diseño. Al implementar el backend, las queries de Supabase y la lógica del agente yo mismo, pude tomar decisiones de experiencia a un nivel de granularidad que es imposible desde Figma.

Aprendí Supabase en el proceso — RLS, Auth, Buckets, Service Role. No porque fuera el plan, sino porque el producto lo requería.

Y aprendí que cuando los usuarios en la validación preguntan cuándo pueden usarlo y cuánto va a costar, el producto no es un ejercicio — es un negocio.

ConjuntoApp está en desarrollo activo. Si administras un conjunto residencial en Colombia y quieres ser parte del piloto, hablemos.