MLZ-Advanced
Una plataforma integral para la venta de terrenos e inmuebles: captación pública de clientes potenciales, un recorrido del cliente basado en mapas y una amplia consola interna para inventario, ventas, pagos y aprobaciones.
Next.js 16
React 19
TypeScript
Prisma + MongoDB
Mapbox GL
SCSS
Recharts

Descripción general
MLZ-Advanced es la plataforma operativa detrás de una empresa de ventas inmobiliarias. Por un lado, está orientada al público y a los clientes: páginas de destino, un explorador basado en mapas para proyectos y parcelas, y un flujo de interés de compra con verificación telefónica. Por el otro, incluye una consola interna completa donde el personal gestiona toda la operativa de ventas, incluidos el inventario, los clientes, las solicitudes de compra, los pagos, las aprobaciones, los informes y la comunicación. Es una aplicación a gran escala y de largo recorrido que funciona como aplicación web progresiva (PWA) de forma bilingüe en árabe e inglés.
El problema
La venta de terrenos y parcelas implica un gran volumen de información de estado que resulta difícil de mantener en orden. Cada parcela cuenta con precios, dimensiones, orientación, titularidad, servicios básicos y un estado que evoluciona a medida que avanza hacia la venta. Los clientes progresan de lead a oportunidad y a comprador, los pagos llegan con diferentes estructuras y requieren aprobación, y múltiples acciones necesitan validación, incluyendo reventas, cancelaciones y cambios de permisos. Gestionar esto mediante hojas de cálculo y herramientas desconectadas no es escalable. El negocio requería un único sistema que gestionara la experiencia pública y la operativa interna, con el registro de auditoría y las aprobaciones de las que depende una operación inmobiliaria.
Mi rol y enfoque
Este es un proyecto de equipo de gran envergadura que se ha desarrollado a lo largo de un período extenso, y trabajé en él como ingeniero de front-end. La base de código está organizada de modo que públicos muy diversos —el público general, los clientes y el personal interno— comparten un único despliegue manteniéndose claramente separados por grupos de rutas y permisos. Gran parte de mi trabajo de front-end se centró en las áreas de alta interactividad: mapas, editores masivos, gráficos y las vistas densas de detalle donde el personal desempeña sus tareas diarias, construidas como componentes de cliente sobre datos renderizados en el servidor con control de acceso.
Stack tecnológico
Características clave
Galería


Desafíos y soluciones
La plataforma atiende a tres públicos desde una sola aplicación, algo en lo que es fácil equivocarse. La estructura se apoya en los grupos de rutas de Next.js para mantener aislados por función y permisos el sitio público, el recorrido del cliente y el panel interno, compartiendo al mismo tiempo un único despliegue. El diseño del panel en sí carga al usuario actual, deriva los módulos de su departamento y filtra la navegación en consecuencia.
El rendimiento bajo un volumen de datos real fue la otra presión constante. El inventario de terrenos implica listas extensas, mapas pesados y páginas de detalle densas en datos, por lo que la aplicación mantiene la obtención de datos y la autorización en el servidor y reserva los componentes de cliente para las partes genuinamente interactivas: mapas, editores de cuadrícula masivos, gráficos y modales. Las listas virtualizadas mantienen la fluidez en tablas largas, y los datos del mapa pasan por una conversión a GeoJSON para que las parcelas se rendericen como objetos espaciales reales en lugar de imágenes estáticas.
Resultado
MLZ-Advanced es un sistema integral que acompaña a una empresa inmobiliaria desde la llegada de un visitante público hasta una venta completada, aprobada y pagada, con el nivel de detalle de inventario, la profundidad de CRM y los registros de aprobación que dicha operación requiere. Su longevidad y escala, con una base de código de varios años y alta actividad, reflejan una plataforma que ha gestionado un negocio de manera real en lugar de ser un simple prototipo.
¿Tienes un problema de producto similar?
Comparte el producto actual, el resultado que necesitas y las limitaciones que ya existen en el camino. Usaré eso para definir un primer hito razonable.
Contratar un desarrollador full stack