Desarrollo Freelance
Oslo Propiedades: Ecosistema Digital Inmobiliario
Tres proyectos para una inmobiliaria: landing desde cero con Astro, migración de WordPress a Next.js con integración de CRM, y un scraper que alimenta un chat con IA.
Stack tecnológico
Las tecnologías usadas y por qué.
El contexto
Oslo Propiedades es una inmobiliaria que necesitaba modernizar su presencia digital. El punto de partida era un WordPress lento, sin integración con su CRM y con una landing desactualizada. El trabajo se organizó en tres proyectos que se desarrollaron en paralelo.
Landing con Astro
El primer proyecto fue una landing nueva desde cero. La agencia de diseño entregó los mockups en Photoshop y mi trabajo fue traducirlos a código: pixel-perfect, responsive y con carga rápida. Elegí Astro por las ventajas de generación estática: sin JavaScript innecesario, tiempos de carga mínimos y fácil de mantener.
Migración a Next.js con Tokko CRM
El proyecto más complejo. Oslo usa Tokko Broker como CRM inmobiliario: ahí viven todas las propiedades, sus fotos, precios y estado de disponibilidad. La nueva web de Oslo consume la API de Tokko como fuente única de verdad, reemplazando la carga manual que requería WordPress.
La arquitectura usa Next.js con App Router, Zustand para el estado global de filtros de búsqueda, Leaflet para el mapa interactivo de propiedades, y Zod para validar las respuestas de la API antes de renderizarlas.
Scraping y datos para el chat IA
El tercer proyecto resuelve un problema de sincronización: no todas las propiedades que están en la web actual están en Tokko, y viceversa. Construí un script de scraping que recorre la web en producción, extrae todas las propiedades y emprendimientos, y las compara con los datos de Tokko. El resultado es un JSON consolidado y limpio.
Ese JSON alimenta un chat con IA integrado en la web de Oslo. El chat puede responder preguntas sobre propiedades disponibles, filtrar por zona o precio y dar información de contacto, usando el catálogo real y actualizado como base de conocimiento.