Bondify

MobileAI Products

A relationship-readiness dating app that gates matching behind a calculated Readiness Score, pairing a Spring Boot backend with a 32-screen Expo/React Native app, JWT-authenticated WebSocket chat and WebRTC video signaling, and an OpenAI-generated icebreaker feature.

  • Spring Boot 3
  • Java 17
  • PostgreSQL
  • React Native (Expo)
  • TypeScript
  • WebSocket/STOMP
  • OpenAI API
Bondify website screenshot

The challenge

People often enter new relationships carrying the same unaddressed patterns that ended prior ones. Bondify's premise is to require users to complete self-assessments and clear a minimum readiness threshold before they can see or match with anyone else.

The approach

The backend is Spring Boot 3 (Java 17) with a React Native/Expo client spanning 32 screens — onboarding, assessments, discovery, chat, video, and a progress dashboard. Users complete multi-category assessments (attachment style, love languages, Enneagram, relational health) scored by dedicated strategy classes implementing a shared assessment-scorer interface. A readiness-aggregation service rolls these into a weighted composite across nine dimensions (emotional intelligence, conflict resolution, communication, trust/intimacy, attachment, values, personality, relationship satisfaction, marriage readiness), applying a risk-penalty cap when any dimension scores below 20. A daily cron job generates matches only for users with a readiness score of 60 or above; a matching service then scores candidate compatibility from readiness similarity plus per-category answer alignment, gated by a minimum-compatibility threshold and revealed only after a mutual like. Chat and WebRTC video-call signaling run over a JWT-authenticated STOMP/WebSocket connection, with react-native-webrtc on the client. A "Wingman" feature calls OpenAI (gpt-3.5-turbo) to generate conversation icebreakers, cached per match for 24 hours with a static fallback when no API key is set. A safety module handles blocking, reporting with an automatic last-20-message snapshot, and daily action-plan/learning-module completion tracking.

What’s live

  • Nine-dimension weighted Readiness Score with risk-penalty capping
  • Readiness threshold gates eligibility in the daily match-generation job
  • Pluggable assessment scorers (attachment, love languages, Enneagram, relational health)
  • Compatibility scoring blending readiness similarity with per-category answer alignment
  • JWT-authenticated STOMP/WebSocket chat and WebRTC video-call signaling
  • OpenAI-generated conversation icebreakers, cached 24h with fallback
  • Report/block safety flow with automatic message-snapshot capture

Have a similar project in mind?