
Offlinery
Matching en tiempo real y sub-segundo sobre OSes móviles hostiles – construido de extremo a extremo.
Offlinery era una app de citas contra la cultura del swipe. Un algoritmo propio mostraba personas cercanas que realmente querían conocerse en persona. Publicada en iOS y Android. Cerrada en 2025.
Resumen
Offlinery era una app de citas contra la cultura del swipe. Un algoritmo propio mostraba personas cercanas que realmente querían conocerse en persona. Publicada en iOS y Android. Cerrada en 2025.
El Reto
Mostrar a la persona adecuada cerca dentro de una ventana de minutos para que el acercamiento real ocurra. Dos restricciones acumuladas: un algoritmo propio para proximidad sub-segundo y filtrado por intención mutua, y fiabilidad contra iOS y Android matando tareas en segundo plano en cuanto pierden interés.
Ubicación continua y precisa – con la pantalla bloqueada.
Conseguir ubicación continua y precisa desde un teléfono bloqueado es brutal. El OS apaga procesos en segundo plano para ahorrar batería. El modelo de privacidad incordia al usuario justo cuando el matching tiene que dispararse. Mantente preciso contra un OS que te suprime activamente, y deja los prompts lo bastante honestos para que los usuarios sigan diciendo que sí.
Lo que hicimos
Ambos OSes móviles suprimen activamente el matching en tiempo real. Diseñamos cada capa en torno a triggers por movimiento, aplazamiento inteligente y degradación elegante, camino de fallback listo antes de que el OS empuje. Motor propio de proximidad sobre PostGIS. React Native + Expo con geolocalización en segundo plano endurecida, push, seguimiento de errores, i18n. Backend NestJS + TypeORM con JWT, throttling, correo transaccional y push Expo. Releases completas en App Store y Play Store. Proximidad sub-segundo en un teléfono en movimiento, sobre hardware que no quería cooperar.
Resultados








Infraestructura en producción
El diagrama ilustra una arquitectura simplificada de alto nivel y omite detalles confidenciales de implementación y seguridad.
Flujo de notificación de match
sequenceDiagram autonumber participant U as User App participant API as NestJS API participant DB as PostGIS participant N as Expo Push U->>API: location heartbeat API->>DB: find nearby candidates DB-->>API: matches (geo + filters) API->>N: notify both users N-->>U: silent push
Lo que aprendimos
El matching presencial en tiempo real vive o muere por señales que el OS mata activamente. La mitad del trabajo es algoritmo, la otra mitad es pelea de plataforma. Triggers por movimiento, aplazamiento inteligente, degradación elegante, fallbacks cuando la precisión queda capada. En un teléfono en movimiento, velocidad y resiliencia son el mismo problema.
¿Quiere resultados como estos?
Cuéntenos qué está construyendo. Le diremos si somos el equipo adecuado.
Agendar llamada