marceloacevedo
hablemos
todo el trabajo

nderoga

construyendo la plataforma inmobiliaria moderna de paraguay.


año
2025
rol
founder e ingeniero
cliente
proyecto propio
stack
next.jsfastapipythontailwindpostgrespagoparci/cdarchitecture
en producción · nderoga.com
nderoga real-estate saas: search results with map and listing grid

overview

nderoga es una plataforma gratuita de listings inmobiliarios construida para el mercado paraguayo. propietarios y agencias publican listings ilimitados. quienes buscan recorren casas, departamentos y terrenos en todo el país a través de una interfaz rápida y moderna.

lo construí end-to-end como solo founder, cada decisión desde la estrategia de producto hasta el deploy, colaborando con un diseñador en la identidad visual.

después de un año en producción, la plataforma aloja 128 listings activos y crece orgánicamente por seo sin gasto en marketing.

el problema

el mercado inmobiliario paraguayo es grande pero está digitalmente desatendido. las plataformas existentes comparten los mismos problemas: cargas lentas, diseño visual anticuado, paywalls para listings básicos y experiencias mobile tratadas como algo secundario. en un país donde mobile es la forma en que la mayoría accede a internet, esa brecha importa.

cuando mi familia pasó por el proceso de buscar una propiedad, la fricción fue obvia. la búsqueda se sentía torpe, las fotos tenían baja resolución y las agencias pequeñas y los propietarios individuales no tenían forma de publicar sin pagar por adelantado. estaba claro que todo eso podía ser mejor con tooling moderno, así que lo construí.

objetivos

definí tres reglas desde el principio:

  1. publicar gratis, para que propietarios individuales y agencias pequeñas puedan competir con los players establecidos.
  2. mobile-first y rápido, optimizado para el dispositivo y la conexión que la mayoría de los paraguayos usa en realidad.
  3. moderno pero familiar: actual para cualquiera acostumbrado a airbnb o zillow, y en el idioma local, literal y culturalmente.

branding

el nombre nderoga viene del guaraní. nde róga significa "tu casa." quería un nombre arraigado en la identidad local en vez de otro nombre anglicizado de startup lanzado en paracaídas al mercado. es corto, memorable y carga peso cultural.

para la identidad visual trabajé con un diseñador que tradujo el brief en un sistema completo: logo, escala tipográfica, paleta de colores, estados de componentes. manejar esa colaboración fue una disciplina en sí misma: comunicar la intención del producto con claridad, dar feedback estructurado a lo largo de las iteraciones, decidir cuándo algo estaba lo suficientemente listo para avanzar. traducir un archivo de figma a un theme vivo implica docenas de pequeños juicios que el diseñador nunca ve, y acertarlos es parte del trabajo de founder.

una decisión deliberada a la que llegamos juntos: toda la ui soporta light y dark theme de forma nativa.

arquitectura

fui por una separación limpia entre frontend y backend. dos servicios, un contrato compartido.

frontend · next.js 15
  • app router con react server components para cargas iniciales rápidas y páginas de listing amigables con el seo.
  • design tokens y theme variables que hicieron trivial mantener el sistema light y dark.
  • typescript end-to-end con types compartidos generados desde el schema openapi de fastapi.
  • optimización de imágenes con next.js image y un object storage con cdn para las fotos de propiedades.
backend · fastapi + postgresql
  • fastapi para la capa de api. la productividad de python más type hints y docs openapi autogeneradas que el frontend consume directamente.
  • postgresql como fuente de verdad, con extensiones postgis reservadas para búsqueda geoespacial futura.
  • sqlalchemy y alembic para orm y migraciones.
  • auth con jwt y acceso por roles para el modelo multi-tenant de agencias (owner, editor, advertiser).
¿por qué este stack?

consideré una sola app next.js con api routes, pero quería que el backend fuera portable y la api reutilizable para una futura app mobile. separarlos desde el inicio costó unos días extra de setup y compró flexibilidad a largo plazo. fastapi en particular porque python me deja prototipar lógica de datos y de búsqueda rápido, y la autogeneración de openapi elimina toda una categoría de drift de types entre frontend y backend.

decisiones de producto

publicación gratuita ilimitada para organizaciones.

la mayoría de los competidores limita el volumen de listings detrás de planes pagos. aposté a que la monetización debía venir de la visibilidad premium (listings destacados, placement promovido) y no del acceso básico. si una agencia pequeña ni siquiera puede entrar a la plataforma, se va a otro lado y el marketplace muere antes de empezar.

modelo multi-tenant de agencias desde el día uno.

el sector inmobiliario en paraguay está dominado por agencias pequeñas con un puñado de agentes cada una. construí organizaciones con permisos por rol (owner, editor, advertiser) temprano, aunque sumó complejidad, porque agregar multi-tenancy después es brutal.

búsqueda antes que mapas.

deliberadamente entregué una búsqueda filtrada sólida (ciudad, tipo de propiedad, precio, tipo de operación) antes de invertir en mapas interactivos. los mapas son caros de hacer bien y la mayoría de los usuarios empieza con filtros de texto de todas formas.

seo y crecimiento orgánico

el seo es parte del build desde el primer commit. un score de 90 en google pagespeed insights y el crecimiento orgánico sostuvieron a la plataforma durante su primer año sin marketing pago.

algunas cosas que hicieron la diferencia:

  • páginas de listing renderizadas en el server, con metadata completa, headings estructurados y html semántico limpio.
  • urls legibles en todos lados: cada propiedad, ciudad y agencia recibe un slug tipo /propiedad/casa-en-asuncion-3-dormitorios, algo que pesa en un mercado donde la mayoría del tráfico termina llegando desde google.
  • cada listing emite json-ld de schema.org realestatelisting y una og image generada dinámicamente, así que compartir un listing en whatsapp, el canal dominante acá, produce un rich preview y mucho mejor click-through.
  • las fotos de propiedades se transcodifican al subirse en múltiples variantes webp, y el frontend sirve el tamaño más chico viable según viewport y device pixel ratio.
  • por ahora lanzo solo en español, pero todos los strings visibles para el usuario viven en archivos de traducción, así que agregar guaraní o portugués después es un cambio de config.

ci/cd

me negué a lanzar sin un pipeline de deploy real, incluso siendo solo founder. el costo inicial es chico. el costo de no tenerlo aparece la primera vez que rompes producción a medianoche.

  • github actions en ambos repos: cada pr corre lint, typecheck, unit tests y un build.
  • el frontend deploya a vercel al mergear a main, con preview deployments en cada pr para review visual.
  • el backend está containerizado con docker y deploya a una plataforma de containers gestionada con rollbacks automáticos. las migraciones de base de datos corren como un paso separado y controlado antes de que la nueva imagen entre en producción.
  • el desarrollo local corre contra la misma versión de postgresql que producción vía docker compose, lo que me salvó de bugs "funciona en mi máquina" más de una vez.

dónde está hoy

después de un año en producción, nderoga está en 128 listings activos y subiendo, creciendo enteramente por búsqueda orgánica: un producto rápido y bien indexado que la gente encuentra cuando busca.

sigo iterando. trabajo reciente y próximo:

  • búsqueda geoespacial con vista de mapa.
  • búsquedas guardadas con alertas por email.
  • una app mobile nativa que reutiliza el mismo backend de fastapi.
  • un tier premium para placements destacados, la primera capa de monetización.

lo que aprendí

construir nderoga me recordó dónde está el trabajo de verdad. elegir el stack fue fácil y diseñar el schema fue satisfactorio; lo duro fue el último 20%: empty states, manejo de errores, edge cases de auth, el footer de compliance fiscal, el cookie banner. eso es lo que separa un side project de un producto real.

también aprendí cuánto leverage le da el tooling moderno a un founder solo. el app router de next.js, los auto docs de fastapi y github actions le permiten a una persona entregar algo que hace cinco años habría requerido un equipo chico.

hay una brecha grande entre reconocer un problema y construir la cosa que lo resuelve. cerrar esa brecha, semana tras semana, es lo que nderoga me sigue enseñando.

todo el trabajolet's talk

llamada de 15 min · gratis · te llevas al menos un fix concreto

¿tu saas ya no aguanta el crecimiento?

agenda una llamada de 15 min