Tipo
Consola interna local-first y prototipo de producto
Herramienta interna / Prototipo de producto / Operaciones inmobiliarias
Una consola interna local-first para controlar oportunidades inmobiliarias en España.
TerritoryOps reúne visibilidad geográfica, revisión en tabla, seguimiento de pipeline y lógica de atención en un atlas operativo privado.
Alcance del prototipo: datos locales del navegador, demo opcional, sin backend ni autenticación.
Resumen del proyecto
Consola interna local-first y prototipo de producto
Scouting inmobiliario, control de seguimiento, revisión de fases e inteligencia de ubicaciones
Definición de producto, diseño de flujo, estructura UX, validación de datos e implementación
Next.js, React, TypeScript, Tailwind CSS, Leaflet, OpenStreetMap y Vitest
Prototipo público; sin backend, autenticación, sincronización de equipo ni APIs de pago
Contexto de negocio
El scouting inmobiliario suele empezar como una colección dispersa de enlaces de Google Maps, notas, contactos, valoraciones aproximadas, fechas de seguimiento y estados poco claros. Cuando la lista crece, la pregunta operativa se complica: qué está controlado, qué se negocia, qué requiere atención y qué conviene ignorar. TerritoryOps se construyó como prototipo para ese problema concreto de control, no como marketplace ni plataforma empresarial en producción.
Sistema / Solución
El producto reúne un único conjunto de datos local en tres vistas complementarias. El mapa aporta contexto espacial, la tabla permite una revisión operativa densa y el pipeline hace legibles las fases. La captura rápida, los dossiers, las reglas de atención, la validación y la portabilidad JSON/CSV mantienen útil el flujo sin infraestructura de backend.
Lectura de ubicaciones en España con filtros compartidos y contexto de estado.
Detalle operativo ordenable para valores, contactos, seguimientos y alertas.
Lectura por fases entre watchlist, interés, evaluación, negociación, control y descarte.
Entrada enfocada para nombre, lugar, coordenadas, enlace de Google Maps y estado inicial.
El almacenamiento del navegador reduce configuración y mantiene el uso privado.
Acciones vencidas o ausentes y negociaciones sin contacto se convierten en drilldowns.
La importación y exportación validada en JSON y CSV facilita copia, traslado e inspección.
Lógica de diseño / Decisiones de build
Las herramientas internas deben reducir fricción antes de añadir infraestructura. La interfaz se compone como un atlas privado y una sala de control: contenida, densa y enfocada en captura, estado y siguientes acciones visibles.
La validación del flujo llegó antes que cuentas, bases de datos o complejidad de sincronización.
El mapa responde dónde, la tabla qué y el pipeline en qué fase está cada oportunidad.
Los seguimientos ausentes o vencidos son registros accionables, no una métrica decorativa.
CSV y JSON mantienen el conjunto local inspeccionable, transferible y fácil de respaldar.
Todavía no hay drag-and-drop. Las fases cambian de forma intencional desde la edición.
Supabase, auth, logs y sincronización siguen como opciones futuras, no como cimientos prematuros.
Funciones principales
Cada capacidad apoya la misma pregunta: qué merece atención y cuál es la siguiente acción responsable.
Lectura espacial de España con marcadores por estado.
Revisión densa y ordenable de campos operativos y de operación.
Lectura rápida del modelo de estados de control.
Entrada enfocada con coordenadas y soporte para Google Maps.
Lugar, operación, contacto, seguimiento y decisión en un panel.
Registros clicables con vencimientos, acciones o contactos ausentes.
Portabilidad JSON y CSV con escaping y compatibilidad.
Controles de cifras, probabilidad, coordenadas y duplicados.
Restauración automática tras ediciones, imports y cambios de vista.
64 tests más lint, typecheck, test y build en GitHub Actions.
Implementación técnica
El prototipo usa un stack frontend moderno y reglas de datos explícitas mientras mantiene el modelo operativo deliberadamente local. La prueba técnica apoya la historia de producto sin convertir el caso en documentación de repositorio.
Un modelo tipado RealEstateLocation mantiene explícitos identidad, lugar, control de negocio, contacto, seguimiento y auditoría.
Los filtros persisten entre Mapa, Tabla y Pipeline, por lo que cambiar de vista no reinicia el contexto operativo.
La validación de importación rechaza cifras inválidas, preserva ceros válidos y mantiene compatibilidad con exports anteriores.
La disciplina general de build tomó como inspiración la colección awesome-vibe-coding, sin usarla como dependencia ni fundamento del producto.
Prueba visual
El caso no fabrica pantallas del producto. Estos placeholders compuestos mantienen el ritmo editorial hasta incorporar capturas reales.
/images/case-studies/territoryops/map.png/images/case-studies/territoryops/table.png/images/case-studies/territoryops/pipeline.png/images/case-studies/territoryops/drawer.png/images/case-studies/territoryops/add-location.png/images/case-studies/territoryops/attention.pngResultado / Por qué importa
TerritoryOps demuestra que una herramienta interna pequeña puede hacer visible la lógica de negocio sin imitar una gran plataforma.
Qué construiría después
La hoja de ruta sigue siendo modesta y responde a necesidades operativas validadas, no a acumulación de funciones.