All case studies

/ CASE STUDY • #009

Pet Tinder

Swipe-based pet matching with real-time chat

React NativeMobileRealtimeGeolocation

/ HERO

Pet Tinder

Swipe-based pet matching with real-time chat

CLIENT

Mobile product — iOS & Android

ROLE

Mobile + API engineer — auth, matching, realtime chat, push notifications.

DURATION

5 months

YEAR

2025

/ OVERVIEW

A cross-platform mobile app where pet owners discover playmates and adoption matches near them. Built the full mobile client and the Node API that powers matching, chat and notifications.

The challenge

Make a delightful, snappy swipe experience on mid-range Android devices while keeping realtime chat reliable on flaky mobile networks.

How I approached it

  • Swipe engine: Built the swipe deck on React Native with Reanimated 3, hitting 60fps on low-end devices by pre-rendering the next two cards.
  • Auth flow: Implemented JWT auth with refresh-token rotation; sessions persist across cold starts without re-asking the user to log in.
  • Geo matching: Used PostGIS for geospatial queries so 'pets within 5km' stays fast even as the dataset grows.
  • Realtime chat: Wired up WebSocket chat with offline queueing — messages typed without signal send the moment connectivity returns.

/ OUTCOME

What it did in the world

Cross Platform

Single React Native codebase ships to both iOS and Android with native modules for camera and push notifications.

60fps Smooth

Butter-smooth gesture handling and card animations even on entry-level Android phones.

Offline-First Chat

Optimistic send with offline queue keeps conversations flowing — messages sync the moment connectivity returns.

Geo Discovery

PostGIS-backed nearby search returns pet matches within radius in under 50ms.

/ STACK

Built with

MOBILE

  • React Native
  • Expo
  • Reanimated 3
  • React Navigation

BACKEND

  • Node.js
  • Express
  • Socket.IO
  • PostgreSQL

TESTING

  • Jest
  • Detox
  • Postman