/ CASE STUDY • #009
Pet Tinder
Swipe-based pet matching with real-time chat
/ 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