Realtime Couples Game with Spring Boot + Expo
Full-stack realtime couples game where partners link, answer questions, guess each other's answers, and review scores, history, stats, badges, and notifications.

The Challenge
Couples games need more than static questions: partners have to link, play together in real time, recover interrupted sessions, and see meaningful results without the experience falling out of sync.
Architecture & Approach
Spring Boot 3.5 backend with Spring Security, JPA, PostgreSQL, Flyway, JWT, WebSocket/STOMP gameplay events, and an active Expo / React Native mobile client for auth, partner linking, gameplay, history, stats, settings, and notifications.
Made the backend the durable source of truth for users, couples, sessions, answers, scores, stats, badges, history, unlink/recovery flows, and realtime events while the Expo client focuses on state presentation and mobile UX.
My Role & Contributions
Built the full-stack product architecture across backend business rules, mobile flows, realtime game state, auth/session handling, partner lifecycle, notification hooks, and testing/documentation.
Key Technical Decisions
- Used WebSocket/STOMP for invitation, gameplay, continuation, and results events so both partners stay synchronized.
- Modeled couple lifecycle explicitly with pending, active, unlinked, cooldown, and recovery states instead of a simple join table.
- Migrated current auth toward email/password with refresh-token rotation while keeping historical Google sign-in code disabled in the active backend path.
Results & Impact
2 Round
Gameplay Loop
Realtime
WebSocket Sync
Expo-first
Active Mobile Client
- Implemented partner linking, category selection, invitations, two-round gameplay, scoring, and results.
- Added active-session continuation, 7-day expiry, history, dashboard stats, badges, onboarding, themes, settings, profile, unlink, and recovery flows.
- Maintained backend and Expo tests around auth, gameplay, state, notification, accessibility, and screen flows.
OnlyYours demonstrates full-stack mobile product engineering with realtime synchronization, durable backend rules, relational data modeling, auth, notifications, and polished client flows.
Lessons Learned
Realtime product UX is only as stable as the backend state model. Recovery, expiry, duplicate prevention, and lifecycle rules need to be first-class, not afterthoughts.
Interested in similar engineering or AI agent work?
I'm currently looking for Senior SWE and AI Engineering roles. Let's discuss how I can help your team ship systems that scale.