Case Study · App Development
Two Markets. One Codebase.
How we built a cross-platform React Native property app that had to behave the same on a budget Android in India as on an iPhone in New York.
Service
App Development
Location
India & USA
Duration
20 weeks
Year
2025
Industry
Real Estate / PropTechProject Overview
A real estate platform operating in India and the USA needed a mobile-first experience for both property seekers and agents. Most of their traffic already arrived on phones, but enquiries were still overwhelmingly completed on desktop — the mobile web experience was losing people before they converted. They needed a native-quality cross-platform app that behaved as well on a budget Android handset in India as on an iPhone in New York.
Key Insight: Performance Is the Feature, Not the Polish
The device floor sets the design budget. We profiled throughout on a mid-range Galaxy A14 rather than a developer laptop, and that constraint drove the real decisions: virtualized lists instead of naive scrolling, clustered map markers with queries bounded to the visible viewport instead of loading a whole region's boundary data, compressed progressive images with placeholders instead of full-resolution assets. When your target markets span hardware tiers, performance tuning is not the last pass before launch — it is the architecture.
The Challenge
The Problem
The core challenge was not just building a mobile app — it was building one that could serve two very different markets simultaneously. Indian users were on low-memory Android devices on 4G networks; US users expected a premium native iOS experience. The app needed to feel fast, native, and reliable for both — with the same codebase.
Most traffic arrived on mobile, but enquiries were completed almost entirely on desktop
Property listing data was served via a slow REST API with no pagination strategy
Map integration required real-time polygon boundary data across a large set of postal regions
Agent-to-buyer communication needed end-to-end encrypted in-app messaging
App Store and Play Store compliance for data privacy in both jurisdictions
Our Solution
Our Approach
We built with React Native and Expo, choosing cross-platform explicitly to serve both markets without duplicate engineering effort. The architecture prioritized offline capability, progressive loading, and aggressive image optimization for low-bandwidth scenarios.
Performance Architecture
Implemented FlashList for virtualized property listings (10x faster than FlatList), lazy image loading with placeholders, and API response pagination — keeping scroll performance smooth even on 3-year-old Android hardware.
Advanced Maps Integration
Integrated Google Maps with custom overlays for neighborhood boundaries, cluster markers for dense urban areas, and a radius-based search that queries only the visible map viewport — reducing API calls by 85%.
In-App Messaging
Built an encrypted real-time messaging layer using Firebase Realtime Database with encryption for agent-buyer communication — integrated with push notifications so agents never miss a lead.
Offline-First Design
Saved and synced recently viewed listings to local storage so users in low-connectivity areas could still browse their shortlisted properties. Background sync ensured data freshness when connectivity returned.
Execution Timeline
Our Step-by-Step Process
Prototyping & UX Wireframes
Creating cross-platform design system in Figma and building prototype flows.
React Native / Expo Build
Infinite scroll list performance, Google Maps API optimization, and dynamic filtering.
Encrypted Chat Layer
Connecting Firebase Realtime DB, setting up local AsyncStorage caching and notifications.
Store Audits & Launch
Final testing on iOS and Android test environments, listing setup, and stores deployment.
Tech Stack
- React Native
- Expo
- TypeScript
- Firebase Realtime DB
- Google Maps API
- FlashList
- Expo Notifications
- AsyncStorage
- Node.js Backend
- AWS S3 + CloudFront
Results
Measurable impact — verified outcomes
1
Shared codebase, two platforms
React Native and Expo targeting iOS and Android from a single TypeScript source
20 wks
Wireframes to store launch
Prototyping, build, encrypted chat layer, then App Store and Play Store submission
FlashList
Listing virtualization
Replaced the default FlatList to hold scroll performance on low-memory Android hardware
Offline
Recently viewed listings
Shortlists cached to AsyncStorage and background-synced when connectivity returns
Retrospective
Lessons Learned & Refinements
FlashList Replacement
Replacing React Native's default FlatList with Shopify's FlashList eliminated scroll lag on low-end Androids.
Viewport-Limited Queries
Querying only visible map boundaries rather than the entire state database cut bandwidth bills by 85%.
Frequently Asked
Trending Questions & FAQs
Want similar results?
Let's build your success story.
Book a free 45-minute strategy call. We'll scope your project, recommend the best approach, and give you a clear roadmap — no strings attached.
