Back to projects
Mobile2025In development

CuChat — React Native Social Gaming Messenger

Persian (RTL) social + gaming messenger for iOS/Android: private chat, voice/video calls, friends, online multiplayer games, wallet/VIP/gifts, and push notifications—backed by a Laravel API with realtime WebSockets.

  • React Native
  • Expo (SDK 54)
  • TypeScript
  • Expo Router
  • NativeWind
  • TanStack Query
  • Laravel Echo / Reverb
  • WebRTC
  • Expo Notifications
  • Secure Store
  • AsyncStorage
  • Jest
  • RTL / Persian
CuChat — React Native Social Gaming Messenger — 1

Overview

What was built

Built a cross-platform social gaming and messaging app with Expo and TypeScript.

Features include real-time chat, WebRTC voice/video calls, online multiplayer games with matchmaking, wallet/VIP payments, gifts, offline message sync, biometric app lock, and Expo push notifications.

Talks to a Laravel API using a custom REST client with Bearer auth and Laravel Echo / Pusher (Reverb) realtime channels.

Architecture is feature-based (app / components / hooks / lib) with React Context + TanStack Query, Expo Secure Store / AsyncStorage, NativeWind (Tailwind), Expo Router, RTL-first UI, and Jest tests.

01

Challenges

Ship a coherent RTL-first social + gaming experience across iOS/Android; keep chat reliable offline; secure auth/tokens; and wire WebRTC calls + WebSocket presence without brittle realtime sync.

02

Solutions

Feature modules with shared hooks/lib; Bearer REST client + Echo/Reverb channels; offline chat outbox; Expo Secure Store + biometric lock; TanStack Query for server state; NativeWind RTL UI; WebRTC for calls; Expo Notifications; Jest for quality.