Zoori — Pet adoption platform | An App Idea LLC

Swipe-based dog discovery and rescue org operations — bilingual, role-aware, real-time.

Expo SDK 54 new archFirebase + FirestoreTanStack Query v5i18next (en/es)
3-sided appRoles
English + SpanishLanguages
Swipe + BrowseDiscovery
TimelineExpo SDK 54, new arch
TeamAdopter · Org · Admin roles
PlatformiOS · Android
ImpactBilingual · Swipe + Browse
Problem

The challenge

Puerto Rico rescue organizations needed a shared system for managing dog listings and incoming applications. Adopters needed more than a static list — they needed discovery that matched lifestyle and preference. A single product had to serve all three sides without the role model collapsing.

Approach

How we built it

I structured the app around Expo Router file-based routing with strict role-based layouts for adopter, organization, and admin. Firebase Auth, Firestore, and Cloud Functions power the backend. TanStack Query v5 handles server state, Zustand manages swipe and preference state client-side, and Reanimated v4 drives the swipe gesture layer. i18next covers bilingual content with locale detection.

Outcome

What shipped

Zoori gives rescue organizations a full operations dashboard for dogs, applications, and messaging, while adopters get swipe-based and browse-based discovery tuned to their preferences. Bilingual support, push notifications, and transactional email make the platform usable for both English- and Spanish-speaking communities in Puerto Rico.

Results

Outcomes

  • Built a three-sided platform — adopter, rescue organization, and admin — each with dedicated dashboards, workflows, and access controls backed by Firestore rules.
  • Delivered swipe-based dog discovery alongside a traditional browse-and-filter flow, with match scoring, saved dogs, and swipe history.
  • Added bilingual support (English and Spanish), in-app messaging per conversation, push notifications, and transactional email via Resend.
Engineering

Tech stack

Expo SDK 54React Native 0.81Expo Router v6TanStack Query v5Zustand v5FirebaseFirestoreCloud FunctionsResendi18nextTypeScript
Social ImpactMobileFirebaseBilingualMulti-role
← All workPet adoption platform