/ CASE STUDY • #001
Pet Dating App
Full-featured pet dating & social ecosystem with real-time chat, voice messages, and location-based discovery





CLIENT
Tovy
ROLE
Lead System Architect & Full-stack Developer
DURATION
27 Days
YEAR
2026
/ OVERVIEW
The challenge
How I approached it
- →Swipe-to-Match Engine: Built a gesture-driven card stack using React Native Reanimated with pan gestures supporting three directions—right to like, left to pass, up to super like—with spring physics (damping 26–28, stiffness 320–360), velocity-aware fly-off animations, ±7° rotation, and stacked background cards with progressive scaling.
- →Real-time Chat via Socket.IO: Engineered a full-duplex messaging system using Socket.IO with Redis adapter for horizontal scaling. Supports text, image, GIF, and audio messages with idempotency keys, typing indicators (5s timeout), online/offline presence tracking via Redis, read receipts, message reactions, edits, deletions, and rate limiting (30 msgs/min per user).
- →Voice Message System: Implemented WhatsApp-style voice recording using expo-audio with live animated waveform bars (28 bars), slide-left-to-cancel, slide-up-to-lock hands-free, 800ms minimum / 60s maximum duration, and playback with seekable 40-bar waveform, speed control (1x/1.5x/2x), and haptic feedback.
- →Social Media Feed: Built a complete social layer with post creation (text, images, videos, GIFs, up to 10 hashtags), nested threaded comments with visual connectors, likes, bookmarks, sharing, and real-time new-post notifications via Socket.IO that surface a 'New posts' pill without jarring scroll resets. Powered by Shopify FlashList for buttery-smooth virtual scrolling.
- →Google Maps Integration: Integrated react-native-maps with Google provider and expo-location for GPS-based discovery. Built a backend proxy to Google Places API (key never exposed client-side) showing nearby parks, pet stores, vet clinics, grooming salons, and pet-friendly restaurants with ratings, photos, and deep links to Google Maps for directions. Results cached 15 minutes in AsyncStorage.
- →Location-Based Discovery: Implemented distance-filtered pet suggestions using GPS coordinates, city picker with search and current-location detection, reverse geocoding for city/region names, and privacy controls (hide location toggle, location obfuscation on profiles).
- →Blind Match Mode: Built an anonymous matchmaking feature with Redis-backed queuing (120s TTL), shared icebreaker questions, mutual accept/pass decisions, and automatic match creation on mutual acceptance—all with content filtering and block-check enforcement.
- →Interceptive Middleware & Tier System: Developed a FeatureGate service that intercepts every API request to validate permissions and quotas (swipes/day, super likes, boosts, rewind, read receipts, advanced filters) via Redis-cached tier configurations across Free, Premium, and Tovy Pro tiers.
/ OUTCOME
What it did in the world
Complete Social Dating App
Shipped a full Tinder + Instagram hybrid for pets—swipe matching, real-time chat with voice messages, social feed with posts/comments/likes, and location-based discovery in a single polished mobile app.
Real-time Everything
Socket.IO powers instant messaging, typing indicators, online presence, match notifications, new-post alerts, and blind match events—all with Redis-backed horizontal scaling and sub-50ms latency.
Voice Messages & Rich Chat
Built a WhatsApp-grade voice message experience with live waveform recording, slide-to-cancel gestures, seekable playback with speed control, plus support for images, GIFs, reactions, and message editing.
Map-Driven Discovery
Google Maps integration surfaces nearby pet-friendly locations (parks, vets, stores, groomers) with ratings and directions, while location-based filters power distance-aware pet matching.
Points Economy & IAP
Implemented a full virtual economy with points earned through engagement and spent on premium actions, plus Apple StoreKit and Google Play Billing integration for subscription tiers.
Enterprise Moderation
Automated keyword filtering with severity levels, bot detection via swipe pattern analysis, report center with rate limiting, and a human-in-the-loop admin review workflow.
/ STACK
Built with
MOBILE
- React Native
- Reanimated 2
- react-native-maps (Google)
- expo-location
- expo-audio
- TanStack Query
- Zustand
- NativeWind
- Shopify FlashList
- react-native-iap
BACKEND
- Node.js (Express 5)
- Prisma 6 / PostgreSQL
- Redis
- Socket.IO (Redis Adapter)
- Cloudinary
- Google Places API
ADMIN PANEL
- Next.js 16 (App Router)
- React 19
- Framer Motion
- Shadcn/UI
- Recharts