A mobile application built for Pakistan Social & Economic Registry (PSER) door-to-door surveys. The app allows field employees to collect household information, save incomplete surveys as drafts, continue working offline, and synchronize data with Supabase when an internet connection is available.
Download the latest Android APK:
- 🔐 Employee authentication
- 👤 Employee profile
- 📝 Multi-step survey form
- 💾 Save surveys as drafts
- 📱 Offline draft support
- 🔄 Automatic draft synchronization
- ☁️ Supabase backend integration
- 🖼️ Person image support
- 📋 View completed surveys
- ✏️ Resume incomplete surveys
- 🗑️ Delete drafts when online
- 🌐 Network connectivity detection
- 🎨 Clean and responsive UI
- 📊 Survey progress indicator
- 🔒 Employee-based data access
The survey is divided into three steps:
-
Personal Information
- Name
- Phone number
- CNIC
- Address
- Age
- Person image
-
Education & Occupation
- Education
- Occupation
-
Household Information
- House ownership
- Illness information
- Marital status
- Illness details
The app supports working without an internet connection.
Drafts are temporarily stored in AsyncStorage and synchronized with Supabase when the device comes back online.
Create Draft
↓
AsyncStorage
↓
Internet Available?
↓
Yes
↓
Supabase Sync
↓
synced: true
Each local draft contains:
{
id: "local-123",
remote_id: "supabase-id",
synced: true
}id→ Local AsyncStorage IDremote_id→ Supabase draft IDsynced→ Indicates whether local and remote data are synchronized
- React Native
- Expo
- Expo Router
- JavaScript
- React Native Paper
- Supabase
- Supabase Authentication
- PostgreSQL
- Supabase Storage
- AsyncStorage
- Zustand
- Expo EAS
- React Native NetInfo
The application uses a local-cache approach for drafts.
When the employee is online:
- Fetch drafts from Supabase.
- Read cached drafts from AsyncStorage.
- Match local drafts with their Supabase records.
- Keep local-only drafts.
- Update the local cache.
- Display the combined draft list.
When the employee is offline:
- Read drafts from AsyncStorage.
- Filter drafts belonging to the logged-in employee.
- Display them without making Supabase requests.
Employees log in using their credentials and employee information is loaded from Supabase.
Only authorized employees can access their assigned survey data.
Create a .env file and add your Supabase project details:
EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your_supabase_keyThe purpose of this application is to make door-to-door survey data collection easier for field employees by providing a structured survey workflow with offline draft support and reliable synchronization when connectivity is restored.