Caso de proyecto

Rummi: encontrar convivencia, no solo una habitación.

Plataforma pensada primero para móvil que trata la compatibilidad de estilo de vida como un problema de producto, datos y confianza.

Contexto

Compartir vivienda es un problema de convivencia.

Rummi nació al observar que cada vez más personas comparten vivienda y que buscar compañero sigue pareciéndose demasiado a una lotería. Las plataformas suelen optimizar habitaciones disponibles, pero dejan la convivencia para después.

¿Y si pudieras mudarte con alguien a quien ya conoces en términos de estilo de vida antes de compartir piso?

El producto intenta dar mejor contexto para decidir mediante perfiles, diez dimensiones de compatibilidad, criterios no negociables, búsqueda por distancia y comunicación en tiempo real.

Qué necesitaba comprender

El porcentaje era visible; el modelo era el problema real.

Antes de implementar el cálculo de compatibilidad había que separar afinidades, tolerancias y criterios no negociables. Dos personas pueden coincidir mucho en promedio y ser incompatibles justo en aquello que ninguna está dispuesta a negociar.

Una consulta de candidatos tampoco es solo una operación geográfica. Combina distancia, privacidad, bloqueo, moderación y estado de cuenta.

Decisiones

Hacer explícitas las restricciones.

Compatibilidad determinista

La misma información produce el mismo resultado. El cálculo puede explicarse y probarse.

Criterios no negociables

Filtran antes de ponderar afinidades para que una incompatibilidad importante no quede escondida.

PostGIS para la distancia

La base resuelve las consultas por radio y proximidad sin trasladar candidatos a memoria.

Cortes verticales

Cada comportamiento reúne punto de entrada, validación y caso de uso alrededor de una capacidad del producto.

Arquitectura

Separar responsabilidades sin esconder el flujo.

La solución utiliza .NET 10 y ASP.NET Core, PostgreSQL y PostGIS como fuente de verdad, Redis para acelerar lecturas, SignalR para comunicación en tiempo real y almacenamiento de objetos para las imágenes.

  • Interfaz pensada primero para móvil y renderizado interactivo.
  • Casos de uso organizados por cortes verticales.
  • Persistencia relacional y consultas geoespaciales.
  • Caché con invalidación fiable mediante un registro transaccional.
  • Docker, integración continua e infraestructura Linux.

Problemas interesantes

Los fallos útiles aparecieron entre componentes.

Buscar personas por distancia

La búsqueda debía combinar radio, visibilidad, bloqueo, criterios no negociables y estado del perfil sin convertir el cálculo en filtros en memoria.

Invalidar caché de forma fiable

Actualizar la base y borrar Redis como operaciones independientes deja una ventana de inconsistencia. Un registro transaccional registra la intención junto al cambio persistido.

Eliminar una cuenta distribuida

La eliminación afecta datos relacionales, caché, sesiones y objetos. Se diseñó como un proceso reanudable e idempotente.

Descubrir producción

El renderizado en servidor, el modo interactivo, las rutas de recursos y el almacenamiento mostraron diferencias que el entorno de desarrollo no revelaba.

Compromisos

Fiabilidad a cambio de más piezas.

PostGIS, Redis y un registro de salida transaccional resuelven problemas concretos, pero aumentan el coste operativo. La decisión fue aceptar complejidad solo cuando protegía una propiedad importante del sistema.

La compatibilidad determinista facilita explicación y pruebas, aunque renuncia a adaptarse automáticamente. En esta fase, comprender el resultado vale más que optimizar una señal de mercado que todavía no existe.

Resultado

Un sistema completo, todavía no un producto validado.

Rummi cubre compatibilidad, búsqueda geoespacial, perfiles, privacidad, moderación, mensajería en tiempo real y gestión de cuenta. Está desplegado y permite validar el funcionamiento técnico de extremo a extremo.

Se encuentra en fase previa al lanzamiento público. No hay todavía evidencia para hablar de encaje con el mercado, crecimiento o tracción significativa.

Aprendizaje

Producción cambia la calidad de las preguntas.

Dominio, infraestructura y operación no son conversaciones separadas. Una decisión de privacidad cambia consultas; una de caché cambia consistencia; una de interfaz cambia el ciclo de vida del servidor.

Qué haría diferente hoy

Reduciría antes el alcance de algunas capacidades operativas y buscaría comentarios de uso con un recorrido más pequeño. Mantendría las pruebas de límites y el despliegue temprano.